1dbgfile "<unknown>"2section ".data.strdata.1"3data $strdata.1 = { b "test.ha" }45dbgfile "<unknown>"6section ".data.strliteral.0"7data $strliteral.0 = { l $strdata.1, l 7, l 7 }89dbgfile "<unknown>"10# str [id: 168584446; size: 24]11type :type.8 = align 8 { l 3 }1213dbgfile "<unknown>"14# [5]str [id: 3814273521; size: 120]15type :type.7 = align 8 { :type.8 5 }1617dbgfile "<unknown>"18section ".data.strdata.11"19data $strdata.11 = { b "Hello, world!" }2021dbgfile "/tmp/hare/test.ha"22section ".data.strliteral.10"23data $strliteral.10 = { l $strdata.11, l 13, l 13 }2425dbgfile "<unknown>"26section ".data.strdata.13"27data $strdata.13 = { b -62, b -95, b "Hola Mundo!" }2829dbgfile "/tmp/hare/test.ha"30section ".data.strliteral.12"31data $strliteral.12 = { l $strdata.13, l 13, l 13 }3233dbgfile "<unknown>"34section ".data.strdata.15"35data $strdata.15 = { b -50, b -109, b -50, b -75, b -50, b -71, b -50, b -84, b " ", b -49, b -125, b -50, b -65, b -49, b -123, b " ", b -50, b -102, b -49, b -116, b -49, b -125, b -50, b -68, b -50, b -75, b "!" }3637dbgfile "/tmp/hare/test.ha"38section ".data.strliteral.14"39data $strliteral.14 = { l $strdata.15, l 27, l 27 }4041dbgfile "<unknown>"42section ".data.strdata.17"43data $strdata.17 = { b -48, b -97, b -47, b -128, b -48, b -72, b -48, b -78, b -47, b -106, b -47, b -126, b ", ", b -47, b -127, b -48, b -78, b -47, b -106, b -47, b -126, b -48, b -75, b "!" }4445dbgfile "/tmp/hare/test.ha"46section ".data.strliteral.16"47data $strliteral.16 = { l $strdata.17, l 25, l 25 }4849dbgfile "<unknown>"50section ".data.strdata.19"51data $strdata.19 = { b -29, b -127, b -109, b -29, b -126, b -109, b -29, b -127, b -85, b -29, b -127, b -95, b -29, b -127, b -81, b -28, b -72, b -106, b -25, b -107, b -116, b -17, b -68, b -127 }5253dbgfile "/tmp/hare/test.ha"54section ".data.strliteral.18"55data $strliteral.18 = { l $strdata.19, l 24, l 24 }5657dbgfile "<unknown>"58# [3]u64 [id: 3897114480; size: 24]59type :type.39 = align 8 { l 3 }6061dbgfile "<unknown>"62# struct { strerror: *fn(_: *errors::opaque_data) str, data: errors::opaque_data, } [id: 1739311748; size: 32]63type :type.38 = align 8 { l 1, :type.39 1 }6465dbgfile "<unknown>"66type :values.align8.37 = { { :type.38 1 } { l 1 } }6768dbgfile "<unknown>"69type :tagged.align8.40 = { w 1, :values.align8.37 1 }7071dbgfile "<unknown>"72# (errors::again | errors::cancelled | nomem | errors::refused | errors::unsupported | errors::opaque_ | io::underread | errors::invalid | errors::interrupted | errors::noentry | errors::netunreachable | errors::overflow | errors::timeout | errors::noaccess | errors::busy | errors::exists) [id: 3466724163; size: 40]73type :type.36 = align 8 { { :tagged.align8.40 1 } { w 1 } }7475dbgfile "<unknown>"76type :values.align8.35 = { { l 1 } { :type.36 1 } }7778dbgfile "<unknown>"79type :tagged.align8.41 = { w 1, :values.align8.35 1 }8081dbgfile "<unknown>"82# (size | io::error) [id: 1592311418; size: 48]83type :type.34 = align 8 { { :tagged.align8.41 1 } }8485dbgfile "<unknown>"86# []fmt::formattable [id: 1634457743; size: 24]87type :type.43 = align 8 { l 3 }8889dbgfile "<unknown>"90type :values.align1.47 = { { b 1 } { b 1 } { b 1 } }9192dbgfile "<unknown>"93type :tagged.align1.48 = { w 1, :values.align1.47 1 }9495dbgfile "<unknown>"96type :values.align2.49 = { { h 1 } { h 1 } }9798dbgfile "<unknown>"99type :tagged.align2.50 = { w 1, :values.align2.49 1 }100101dbgfile "<unknown>"102type :values.align4.51 = { { w 1 } { s 1 } { w 1 } { w 1 } { w 1 } { w 1 } }103104dbgfile "<unknown>"105type :tagged.align4.52 = { w 1, :values.align4.51 1 }106107dbgfile "<unknown>"108type :values.align8.53 = { { l 1 } { l 1 } { d 1 } { :type.8 1 } { l 1 } { l 1 } { l 1 } }109110dbgfile "<unknown>"111type :tagged.align8.54 = { w 1, :values.align8.53 1 }112113dbgfile "<unknown>"114# (i32 | i16 | i8 | i64 | nullable *opaque | bool | f64 | f32 | rune | str | size | int | uintptr | uint | void | u32 | u16 | u8 | u64) [id: 2974858336; size: 32]115type :type.46 = align 8 { { :tagged.align1.48 1 } { :tagged.align2.50 1 } { :tagged.align4.52 1 } { :tagged.align8.54 1 } { w 1 } }116117dbgfile "<unknown>"118# [1]fmt::formattable [id: 1234624002; size: 32]119type :type.45 = align 8 { :type.46 1 }120121dbgfile "/tmp/hare/test.ha"122section ".text.main" "ax" export123function $main() {124@start.2125 %binding.6 =l alloc8 120126 %cur_object.26 =l alloc8 24127 %object.42 =l alloc8 24128 %object.44 =l alloc8 32129 %binding.69 =l alloc8 8130@body.3131 dbgloc 3, 25132 dbgloc 4, 14133 %item.9 =l add %binding.6, 0134 dbgloc 5, 31135 blit $strliteral.10, %item.9, 24136 %item.9 =l add %binding.6, 24137 dbgloc 6, 30138 blit $strliteral.12, %item.9, 24139 %item.9 =l add %binding.6, 48140 dbgloc 7, 33141 blit $strliteral.14, %item.9, 24142 %item.9 =l add %binding.6, 72143 dbgloc 8, 32144 blit $strliteral.16, %item.9, 24145 %item.9 =l add %binding.6, 96146 dbgloc 9, 26147 blit $strliteral.18, %item.9, 24148 dbgloc 11, 12149 dbgloc 11, 39150 %.27 =l copy %binding.6151 %cur_idx.28 =l copy 0152@loop.20153 %valid.30 =w cultl %cur_idx.28, 5154 jnz %valid.30, @valid.22, @else.25155@valid.22156 blit %.27, %cur_object.26, 24157 %cur_idx.28 =l add %cur_idx.28, 1158@body.21159 dbgloc 11, 41160 dbgloc 12, 40161 dbgloc 12, 29162 dbgloc 12, 29163 dbgloc 12, 38164 # gen lowered cast165 dbgloc 12, 38166 %item.55 =l add %object.44, 0167 # gen lowered cast168 storew 168584446, %item.55169 %.56 =l add %item.55, 8170 dbgloc 12, 38171 blit %cur_object.26, %.56, 24172 %.57 =l add %object.42, 8173 %.58 =l add %object.42, 16174 storel %object.44, %object.42175 storel 1, %.57176 storel 1, %.58177 %.33 =:type.34 call $fmt.println(:type.43 %object.42)178 %tag.62 =w loaduw %.33179 %subval.65 =l copy %.33180 %.66 =w ceqw %tag.62, 185362065181 jnz %.66, @subtype.68, @next.64182@subtype.68183 jmp @matches.63184@matches.63185 %.70 =l add %.33, 8186 %.71 =l loadl %.70187 storel %.71, %binding.69188 dbgloc 12, 40189 %.72 =l loadl %binding.69190 %.59 =l copy %.72191 jmp @.60192@next.64193@default.61194 dbgloc 12, 40195 call $rt.abort_fixed(l $strliteral.0, l 12, l 40, l 5)196 hlt197@.73198@.60199 jmp @.31200@.74201@.31202@after.24203 %.27 =l add %.27, 24204 jmp @loop.20205@else.25206@.23207 jmp @.4208@.75209@.4210 ret211}212