holey-bytes/f
2024-07-20 18:52:24 +02:00

520 lines
51 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

───────┬───────────────────────────────────────────────────────────────────────────────────────
│ STDIN
───────┼───────────────────────────────────────────────────────────────────────────────────────
 1 │  Compiling hblang v0.1.0 (/home/mlokis/personal/rust/holey-bytes/hblang)
 2 │  Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
 3 │  Running unittests src/lib.rs (target/debug/deps/hblang-f17d24a239ab5c0e)
 4 │
 5 │ running 28 tests
 6 │ test codegen::tests::arithmetic ... ok
 7 │ test codegen::tests::comments ... ok
 8 │ test codegen::tests::different_types ... ok
 9 │ test codegen::tests::arrays ... ok
 10 │ test codegen::tests::functions ... ok
 11 │ test codegen::tests::generic_functions ... ok
 12 │ test codegen::tests::variables ... ok
 13 │ test codegen::tests::c_strings ... ok
 14 │ test codegen::tests::loops ... ok
 15 │ test codegen::tests::pointers ... ok
 16 │ test parser::test::comments ... ok
 17 │ test codegen::tests::struct_operators ... ok
 18 │ test codegen::tests::structs ... ok
 19 │ test parser::test::some_ordinary_fild_per_lin_struct ... ok
 20 │ test parser::test::some_ordinary_code ... ok
 21 │ test codegen::tests::directives ... ok
 22 │ test parser::test::code_block ... ok
 23 │ test parser::test::some_arg_per_line_code ... ok
 24 │ test parser::test::some_ordinary_struct ... ok
 25 │ test test::task_queue_sanity ... ok
 26 │ test codegen::tests::generic_types ... ok
 27 │ test codegen::tests::if_statements ... ok
 28 │ test codegen::tests::struct_patterns ... ok
 29 │ test codegen::tests::global_variables ... ok
 30 │ test codegen::tests::comptime_pointers ... FAILED
 31 │ test codegen::tests::struct_return_from_module_function ... FAILED
 32 │ test codegen::tests::fb_driver ... ok
 33 │ test lexer::test::test_smh ... ok
 34 │
 35 │ failures:
 36 │
 37 │ ---- codegen::tests::comptime_pointers stdout ----
 38 │ Dbg: stack_ptr: 7ee366800010
 39 │ Dbg: 00000000: jal: 1f0000000000
 40 │ Dbg: 00000007: tx: 
 41 │ Dbg: find_or_declare: 
 42 │ [hblang/src/codegen.rs:2925:9] lit_name = ""
 43 │ Dbg: eval
 44 │ Dbg: 00000000: addi64: fefe0000000000000000
 45 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 46 │ Dbg: 00000018: li64: 010d00000000000000
 47 │ Dbg: 00000022: jmp: 00000000
 48 │ Dbg: 00000000: addi64: fefe0000000000000000
 49 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 50 │ Dbg: 00000027: ld: 1ffe00000000000000000800
 51 │ Dbg: 00000034: addi64: fefe0800000000000000
 52 │ Dbg: 0000003f: tx: 
 53 │ Dbg: 64 0
 54 │ Dbg: read-typed: 7ee3580116b0 u8 "addi64"
 55 │ Dbg: read-typed: 7ee3580116b1 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef8ffffffffffffff"
 56 │ Dbg: read-typed: 7ee3580116bb u8 "st"
 57 │ Dbg: read-typed: 7ee3580116bc hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 58 │ Dbg: store: 7ee366800008 "0000000000000000"
 59 │ Dbg: read-typed: 7ee3580116c8 u8 "li64"
 60 │ Dbg: read-typed: 7ee3580116c9 hbbytecode::ops::OpsRD "010d00000000000000"
 61 │ Dbg: read-typed: 7ee3580116d2 u8 "jmp"
 62 │ Dbg: read-typed: 7ee3580116d3 hbbytecode::ops::OpsO "05000000"
 63 │ Dbg: read-typed: 7ee3580116d7 u8 "ld"
 64 │ Dbg: read-typed: 7ee3580116d8 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 65 │ Dbg: load: 7ee366800008 "0000000000000000"
 66 │ Dbg: read-typed: 7ee3580116e4 u8 "addi64"
 67 │ Dbg: read-typed: 7ee3580116e5 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe0800000000000000"
 68 │ Dbg: read-typed: 7ee3580116ef u8 "tx"
 69 │ Dbg: eval-end
 70 │ Dbg: fn: main
 71 │ Dbg: 00000008: addi64: fefe0000000000000000
 72 │ Dbg: 00000013: st: 1ffe00000000000000000000
 73 │ Dbg: fn-args
 74 │ Dbg: fn-body
 75 │ Dbg: eval
 76 │ Dbg: 00000008: addi64: fefe0000000000000000
 77 │ Dbg: 00000013: st: 1ffe00000000000000000000
 78 │ Dbg: 00000020: cp: 2001
 79 │ Dbg: 00000023: li64: 210700000000000000
 80 │ Dbg: 0000002d: st: 212000000000000000000800
 81 │ Dbg: 0000003a: jmp: 00000000
 82 │ Dbg: 00000000: addi64: fefe0000000000000000
 83 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 84 │ Dbg: 0000003f: ld: 1ffe00000000000000001800
 85 │ Dbg: 0000004c: addi64: fefe1800000000000000
 86 │ Dbg: 00000057: tx: 
 87 │ Dbg: 00000058: cp: 0120
 88 │ Dbg: 91 8
 89 │ Dbg: read-typed: 7ee3580127b8 u8 "addi64"
 90 │ Dbg: read-typed: 7ee3580127b9 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefee8ffffffffffffff"
 91 │ Dbg: read-typed: 7ee3580127c3 u8 "st"
 92 │ Dbg: read-typed: 7ee3580127c4 hbbytecode::ops::OpsRRAH "1ffe00000000000000001800"
 93 │ Dbg: store: 7ee366800000 "000000000000000000000000000000000000000000000000"
 94 │ Dbg: read-typed: 7ee3580127d0 u8 "cp"
 95 │ Dbg: read-typed: 7ee3580127d1 hbbytecode::ops::OpsRR "2001"
 96 │ Dbg: read-typed: 7ee3580127d3 u8 "li64"
 97 │ Dbg: read-typed: 7ee3580127d4 hbbytecode::ops::OpsRD "210700000000000000"
 98 │ Dbg: read-typed: 7ee3580127dd u8 "st"
 99 │ Dbg: read-typed: 7ee3580127de hbbytecode::ops::OpsRRAH "212000000000000000000800"
 100 │ Dbg: store: 7ee366800010 "0000000000000007"
 101 │ Dbg: read-typed: 7ee3580127ea u8 "jmp"
 102 │ Dbg: read-typed: 7ee3580127eb hbbytecode::ops::OpsO "05000000"
 103 │ Dbg: read-typed: 7ee3580127ef u8 "ld"
 104 │ Dbg: read-typed: 7ee3580127f0 hbbytecode::ops::OpsRRAH "1ffe00000000000000001800"
 105 │ Dbg: load: 7ee366800000 "000000000000000700000000000000000000000000000000"
 106 │ Dbg: read-typed: 7ee3580127fc u8 "addi64"
 107 │ Dbg: read-typed: 7ee3580127fd hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe1800000000000000"
 108 │ Dbg: read-typed: 7ee358012807 u8 "tx"
 109 │ Dbg: eval-end
 110 │ Dbg: call modify
 111 │ Dbg: eval
 112 │ Dbg: 00000008: addi64: fefe0000000000000000
 113 │ Dbg: 00000013: st: 1ffe00000000000000000000
 114 │ Dbg: find_or_declare: modify
 115 │ [hblang/src/codegen.rs:2925:9] lit_name = "modify"
 116 │ Dbg: 00000020: li64: 010100006000000000
 117 │ Dbg: 0000002a: jmp: 00000000
 118 │ Dbg: 00000000: addi64: fefe0000000000000000
 119 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 120 │ Dbg: 0000002f: ld: 1ffe00000000000000000800
 121 │ Dbg: 0000003c: addi64: fefe0800000000000000
 122 │ Dbg: 00000047: tx: 
 123 │ Dbg: 72 8
 124 │ Dbg: read-typed: 7ee3580127b8 u8 "addi64"
 125 │ Dbg: read-typed: 7ee3580127b9 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef8ffffffffffffff"
 126 │ Dbg: read-typed: 7ee3580127c3 u8 "st"
 127 │ Dbg: read-typed: 7ee3580127c4 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 128 │ Dbg: store: 7ee366800010 "0000000000000000"
 129 │ Dbg: read-typed: 7ee3580127d0 u8 "li64"
 130 │ Dbg: read-typed: 7ee3580127d1 hbbytecode::ops::OpsRD "010100006000000000"
 131 │ Dbg: read-typed: 7ee3580127da u8 "jmp"
 132 │ Dbg: read-typed: 7ee3580127db hbbytecode::ops::OpsO "05000000"
 133 │ Dbg: read-typed: 7ee3580127df u8 "ld"
 134 │ Dbg: read-typed: 7ee3580127e0 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 135 │ Dbg: load: 7ee366800010 "0000000000000000"
 136 │ Dbg: read-typed: 7ee3580127ec u8 "addi64"
 137 │ Dbg: read-typed: 7ee3580127ed hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe0800000000000000"
 138 │ Dbg: read-typed: 7ee3580127f7 u8 "tx"
 139 │ Dbg: eval-end
 140 │ Dbg: eval
 141 │ Dbg: 00000008: addi64: fefe0000000000000000
 142 │ Dbg: 00000013: st: 1ffe00000000000000000000
 143 │ Dbg: eval
 144 │ Dbg: 00000008: addi64: fefe0000000000000000
 145 │ Dbg: 00000013: st: 1ffe00000000000000000000
 146 │ Dbg: 00000020: li64: 010d00000000000000
 147 │ Dbg: 0000002a: jmp: 00000000
 148 │ Dbg: 00000000: addi64: fefe0000000000000000
 149 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 150 │ Dbg: 0000002f: ld: 1ffe00000000000000000800
 151 │ Dbg: 0000003c: addi64: fefe0800000000000000
 152 │ Dbg: 00000047: tx: 
 153 │ Dbg: 72 8
 154 │ Dbg: read-typed: 7ee3580127b8 u8 "addi64"
 155 │ Dbg: read-typed: 7ee3580127b9 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef8ffffffffffffff"
 156 │ Dbg: read-typed: 7ee3580127c3 u8 "st"
 157 │ Dbg: read-typed: 7ee3580127c4 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 158 │ Dbg: store: 7ee366800010 "0000000000000000"
 159 │ Dbg: read-typed: 7ee3580127d0 u8 "li64"
 160 │ Dbg: read-typed: 7ee3580127d1 hbbytecode::ops::OpsRD "010d00000000000000"
 161 │ Dbg: read-typed: 7ee3580127da u8 "jmp"
 162 │ Dbg: read-typed: 7ee3580127db hbbytecode::ops::OpsO "05000000"
 163 │ Dbg: read-typed: 7ee3580127df u8 "ld"
 164 │ Dbg: read-typed: 7ee3580127e0 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 165 │ Dbg: load: 7ee366800010 "0000000000000000"
 166 │ Dbg: read-typed: 7ee3580127ec u8 "addi64"
 167 │ Dbg: read-typed: 7ee3580127ed hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe0800000000000000"
 168 │ Dbg: read-typed: 7ee3580127f7 u8 "tx"
 169 │ Dbg: eval-end
 170 │ Dbg: 00000020: li64: 010000004000000000
 171 │ Dbg: 0000002a: jmp: 00000000
 172 │ Dbg: 00000000: addi64: fefe0000000000000000
 173 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 174 │ Dbg: 0000002f: ld: 1ffe00000000000000000800
 175 │ Dbg: 0000003c: addi64: fefe0800000000000000
 176 │ Dbg: 00000047: tx: 
 177 │ Dbg: 72 8
 178 │ Dbg: read-typed: 7ee3580127b8 u8 "addi64"
 179 │ Dbg: read-typed: 7ee3580127b9 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef8ffffffffffffff"
 180 │ Dbg: read-typed: 7ee3580127c3 u8 "st"
 181 │ Dbg: read-typed: 7ee3580127c4 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 182 │ Dbg: store: 7ee366800010 "0000000000000000"
 183 │ Dbg: read-typed: 7ee3580127d0 u8 "li64"
 184 │ Dbg: read-typed: 7ee3580127d1 hbbytecode::ops::OpsRD "010000004000000000"
 185 │ Dbg: read-typed: 7ee3580127da u8 "jmp"
 186 │ Dbg: read-typed: 7ee3580127db hbbytecode::ops::OpsO "05000000"
 187 │ Dbg: read-typed: 7ee3580127df u8 "ld"
 188 │ Dbg: read-typed: 7ee3580127e0 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 189 │ Dbg: load: 7ee366800010 "0000000000000000"
 190 │ Dbg: read-typed: 7ee3580127ec u8 "addi64"
 191 │ Dbg: read-typed: 7ee3580127ed hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe0800000000000000"
 192 │ Dbg: read-typed: 7ee3580127f7 u8 "tx"
 193 │ Dbg: eval-end
 194 │ Dbg: arg: ^int
 195 │ thread 'codegen::tests::comptime_pointers' panicked at hblang/src/codegen.rs:1823:29:
 196 │ assertion `left == right` failed: TODO: we dont support anything except type generics
 197 │  left: Id(1073741824)
 198 │  right: Id(4)
 199 │ stack backtrace:
 200 │  0: rust_begin_unwind
 201 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/std/src/panick
  │ ing.rs:661:5
 202 │  1: core::panicking::panic_fmt
 203 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/panic
  │ king.rs:74:14
 204 │  2: core::panicking::assert_failed_inner
 205 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/panic
  │ king.rs:405:23
 206 │  3: core::panicking::assert_failed
 207 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/panic
  │ king.rs:365:5
 208 │  4: hblang::codegen::Codegen::expr_ctx
 209 │  at ./src/codegen.rs:1823:29
 210 │  5: hblang::codegen::Codegen::expr
 211 │  at ./src/codegen.rs:1363:9
 212 │  6: hblang::codegen::Codegen::expr_ctx
 213 │  at ./src/codegen.rs:1954:21
 214 │  7: hblang::codegen::Codegen::expr
 215 │  at ./src/codegen.rs:1363:9
 216 │  8: hblang::codegen::Codegen::handle_task
 217 │  at ./src/codegen.rs:2578:12
 218 │  9: hblang::codegen::Codegen::complete_call_graph_low
 219 │  at ./src/codegen.rs:2506:13
 220 │  10: hblang::codegen::Codegen::generate
 221 │  at ./src/codegen.rs:1351:9
 222 │  11: hblang::codegen::tests::generate
 223 │  at ./src/codegen.rs:3261:9
 224 │  12: hblang::run_test
 225 │  at ./src/lib.rs:497:5
 226 │  13: hblang::codegen::tests::comptime_pointers
 227 │  at ./src/lib.rs:33:13
 228 │  14: hblang::codegen::tests::comptime_pointers::{{closure}}
 229 │  at ./src/lib.rs:32:19
 230 │  15: core::ops::function::FnOnce::call_once
 231 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/ops/f
  │ unction.rs:250:5
 232 │  16: core::ops::function::FnOnce::call_once
 233 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/ops/f
  │ unction.rs:250:5
 234 │ note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace
  │ .
 235 │ Inf: dropping chunk of size: 944
 236 │ Dbg: deallocating full chunk
 237 │
 238 │ ---- codegen::tests::struct_return_from_module_function stdout ----
 239 │ Inf: dropping chunk of size: 888
 240 │ Dbg: deallocating full chunk
 241 │ Dbg: stack_ptr: 7ee33c221550
 242 │ Dbg: 00000000: jal: 1f0000000000
 243 │ Dbg: 00000007: tx: 
 244 │ Dbg: find_or_declare: 
 245 │ [hblang/src/codegen.rs:2925:9] lit_name = ""
 246 │ Dbg: eval
 247 │ Dbg: 00000000: addi64: fefe0000000000000000
 248 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 249 │ Dbg: 00000018: li64: 010d00000000000000
 250 │ Dbg: 00000022: jmp: 00000000
 251 │ Dbg: 00000000: addi64: fefe0000000000000000
 252 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 253 │ Dbg: 00000027: ld: 1ffe00000000000000000800
 254 │ Dbg: 00000034: addi64: fefe0800000000000000
 255 │ Dbg: 0000003f: tx: 
 256 │ Dbg: 64 0
 257 │ Dbg: read-typed: 7ee33c221930 u8 "addi64"
 258 │ Dbg: read-typed: 7ee33c221931 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef8ffffffffffffff"
 259 │ Dbg: read-typed: 7ee33c22193b u8 "st"
 260 │ Dbg: read-typed: 7ee33c22193c hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 261 │ Dbg: store: 7ee33c221548 "0000000000000000"
 262 │ Dbg: read-typed: 7ee33c221948 u8 "li64"
 263 │ Dbg: read-typed: 7ee33c221949 hbbytecode::ops::OpsRD "010d00000000000000"
 264 │ Dbg: read-typed: 7ee33c221952 u8 "jmp"
 265 │ Dbg: read-typed: 7ee33c221953 hbbytecode::ops::OpsO "05000000"
 266 │ Dbg: read-typed: 7ee33c221957 u8 "ld"
 267 │ Dbg: read-typed: 7ee33c221958 hbbytecode::ops::OpsRRAH "1ffe00000000000000000800"
 268 │ Dbg: load: 7ee33c221548 "0000000000000000"
 269 │ Dbg: read-typed: 7ee33c221964 u8 "addi64"
 270 │ Dbg: read-typed: 7ee33c221965 hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe0800000000000000"
 271 │ Dbg: read-typed: 7ee33c22196f u8 "tx"
 272 │ Dbg: eval-end
 273 │ Dbg: fn: main
 274 │ Dbg: 00000008: addi64: fefe0000000000000000
 275 │ Dbg: 00000013: st: 1ffe00000000000000000000
 276 │ Dbg: fn-args
 277 │ Dbg: fn-body
 278 │ Dbg: 00000020: li64: 200700000000000000
 279 │ Dbg: 7 - bar.foo().x
 280 │ Dbg: call bar.foo
 281 │ Dbg: eval
 282 │ Dbg: 00000008: addi64: fefe0000000000000000
 283 │ Dbg: 00000013: st: 1ffe00000000000000000000
 284 │ Dbg: find_or_declare: bar
 285 │ [hblang/src/codegen.rs:2925:9] lit_name = "bar"
 286 │ Dbg: eval
 287 │ Dbg: 00000008: addi64: fefe0000000000000000
 288 │ Dbg: 00000013: st: 1ffe00000000000000000000
 289 │ Dbg: 00000020: cp: 2001
 290 │ Dbg: 00000023: li64: 21010000a000000000
 291 │ Dbg: 0000002d: st: 212000000000000000000400
 292 │ Dbg: 00000000: addi64: fefe0000000000000000
 293 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 294 │ Dbg: 0000003e: ld: 1ffe00000000000000001800
 295 │ Dbg: 0000004b: addi64: fefe1800000000000000
 296 │ Dbg: 00000056: tx: 
 297 │ Dbg: 87 12
 298 │ Dbg: read-typed: 7ee33c22210c u8 "addi64"
 299 │ Dbg: read-typed: 7ee33c22210d hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefee8ffffffffffffff"
 300 │ Dbg: read-typed: 7ee33c222117 u8 "st"
 301 │ Dbg: read-typed: 7ee33c222118 hbbytecode::ops::OpsRRAH "1ffe00000000000000001800"
 302 │ Dbg: store: 7ee33c221538 "000000000000000000000000000000000000000000000000"
 303 │ Dbg: read-typed: 7ee33c222124 u8 "cp"
 304 │ Dbg: read-typed: 7ee33c222125 hbbytecode::ops::OpsRR "2001"
 305 │ Dbg: read-typed: 7ee33c222127 u8 "li64"
 306 │ Dbg: read-typed: 7ee33c222128 hbbytecode::ops::OpsRD "21010000a000000000"
 307 │ Dbg: read-typed: 7ee33c222131 u8 "st"
 308 │ Dbg: read-typed: 7ee33c222132 hbbytecode::ops::OpsRRAH "212000000000000000000400"
 309 │ Dbg: store: 7ee33c222108 "a0000001"
 310 │ Dbg: read-typed: 7ee33c22213e u8 "ld"
 311 │ Dbg: read-typed: 7ee33c22213f hbbytecode::ops::OpsRRAH "1ffe00000000000000001800"
 312 │ Dbg: load: 7ee33c221538 "000000000000000000000000000000000000000000000000"
 313 │ Dbg: read-typed: 7ee33c22214b u8 "addi64"
 314 │ Dbg: read-typed: 7ee33c22214c hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe1800000000000000"
 315 │ Dbg: read-typed: 7ee33c222156 u8 "tx"
 316 │ Dbg: eval-end
 317 │ Dbg: 1
 318 │ Dbg: 00000024: lra: 200000000000
 319 │ Dbg: eval
 320 │ Dbg: 0000000c: addi64: fefe0000000000000000
 321 │ Dbg: 00000017: st: 1ffe00000000000000000000
 322 │ Dbg: 1
 323 │ Dbg: 00000024: lra: 200000000000
 324 │ Dbg: 0000002b: cp: 0100
 325 │ Dbg: 0000002e: ld: 012000000000000000000400
 326 │ Dbg: 0000003b: jmp: 00000000
 327 │ Dbg: reloc: Reloc { offset: 24, sub_offset: 3, width: 4, shifted: false } 0 52 12 12
 328 │ Dbg: reloc: Reloc { offset: 24, sub_offset: 3, width: 4, shifted: false } 12 64 0 0
 329 │ Dbg: 00000000: addi64: fefe0000000000000000
 330 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 331 │ Dbg: 00000040: ld: 1ffe00000000000000001000
 332 │ Dbg: 0000004d: addi64: fefe1000000000000000
 333 │ Dbg: 00000058: tx: 
 334 │ Dbg: 89 12
 335 │ Dbg: read-typed: 7ee33c22210c u8 "addi64"
 336 │ Dbg: read-typed: 7ee33c22210d hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef0ffffffffffffff"
 337 │ Dbg: read-typed: 7ee33c222117 u8 "st"
 338 │ Dbg: read-typed: 7ee33c222118 hbbytecode::ops::OpsRRAH "1ffe00000000000000001000"
 339 │ Dbg: store: 7ee33c221540 "00000000000000000000000000000000"
 340 │ Dbg: read-typed: 7ee33c222124 u8 "lra"
 341 │ Dbg: read-typed: 7ee33c222125 hbbytecode::ops::OpsRRO "2000e4ffffff"
 342 │ Dbg: read-typed: 7ee33c22212b u8 "cp"
 343 │ Dbg: read-typed: 7ee33c22212c hbbytecode::ops::OpsRR "0100"
 344 │ Dbg: read-typed: 7ee33c22212e u8 "ld"
 345 │ Dbg: read-typed: 7ee33c22212f hbbytecode::ops::OpsRRAH "012000000000000000000400"
 346 │ Dbg: load: 7ee33c222108 "a0000001"
 347 │ Dbg: read-typed: 7ee33c22213b u8 "jmp"
 348 │ Dbg: read-typed: 7ee33c22213c hbbytecode::ops::OpsO "05000000"
 349 │ Dbg: read-typed: 7ee33c222140 u8 "ld"
 350 │ Dbg: read-typed: 7ee33c222141 hbbytecode::ops::OpsRRAH "1ffe00000000000000001000"
 351 │ Dbg: load: 7ee33c221540 "00000000000000000000000000000000"
 352 │ Dbg: read-typed: 7ee33c22214d u8 "addi64"
 353 │ Dbg: read-typed: 7ee33c22214e hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe1000000000000000"
 354 │ Dbg: read-typed: 7ee33c222158 u8 "tx"
 355 │ Dbg: eval-end
 356 │ Dbg: find_or_declare: 
 357 │ [hblang/src/codegen.rs:2925:9] lit_name = ""
 358 │ Dbg: eval
 359 │ Dbg: 0000000c: addi64: fefe0000000000000000
 360 │ Dbg: 00000017: st: 1ffe00000000000000000000
 361 │ Dbg: 1
 362 │ Dbg: 00000024: lra: 200000000000
 363 │ Dbg: 0000002b: cp: 0100
 364 │ Dbg: 0000002e: ld: 012000000000000000000400
 365 │ Dbg: 0000003b: jmp: 00000000
 366 │ Dbg: reloc: Reloc { offset: 24, sub_offset: 3, width: 4, shifted: false } 0 52 12 12
 367 │ Dbg: reloc: Reloc { offset: 24, sub_offset: 3, width: 4, shifted: false } 12 64 0 0
 368 │ Dbg: 00000000: addi64: fefe0000000000000000
 369 │ Dbg: 0000000b: st: 1ffe00000000000000000000
 370 │ Dbg: 00000040: ld: 1ffe00000000000000001000
 371 │ Dbg: 0000004d: addi64: fefe1000000000000000
 372 │ Dbg: 00000058: tx: 
 373 │ Dbg: 89 12
 374 │ Dbg: read-typed: 7ee33c22210c u8 "addi64"
 375 │ Dbg: read-typed: 7ee33c22210d hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefef0ffffffffffffff"
 376 │ Dbg: read-typed: 7ee33c222117 u8 "st"
 377 │ Dbg: read-typed: 7ee33c222118 hbbytecode::ops::OpsRRAH "1ffe00000000000000001000"
 378 │ Dbg: store: 7ee33c221540 "00000000000000000000000000000000"
 379 │ Dbg: read-typed: 7ee33c222124 u8 "lra"
 380 │ Dbg: read-typed: 7ee33c222125 hbbytecode::ops::OpsRRO "2000e4ffffff"
 381 │ Dbg: read-typed: 7ee33c22212b u8 "cp"
 382 │ Dbg: read-typed: 7ee33c22212c hbbytecode::ops::OpsRR "0100"
 383 │ Dbg: read-typed: 7ee33c22212e u8 "ld"
 384 │ Dbg: read-typed: 7ee33c22212f hbbytecode::ops::OpsRRAH "012000000000000000000400"
 385 │ Dbg: load: 7ee33c222108 "a0000001"
 386 │ Dbg: read-typed: 7ee33c22213b u8 "jmp"
 387 │ Dbg: read-typed: 7ee33c22213c hbbytecode::ops::OpsO "05000000"
 388 │ Dbg: read-typed: 7ee33c222140 u8 "ld"
 389 │ Dbg: read-typed: 7ee33c222141 hbbytecode::ops::OpsRRAH "1ffe00000000000000001000"
 390 │ Dbg: load: 7ee33c221540 "00000000000000000000000000000000"
 391 │ Dbg: read-typed: 7ee33c22214d u8 "addi64"
 392 │ Dbg: read-typed: 7ee33c22214e hbvm::vmrun::<impl hbvm::Vm<_, TIMER_QUOTIENT>>::binary_
  │ op_imm::OpsRRImm<u64> "fefe1000000000000000"
 393 │ Dbg: read-typed: 7ee33c222158 u8 "tx"
 394 │ Dbg: eval-end
 395 │ Dbg: 00000024: li64: 010100006000000000
 396 │ Dbg: 0000002e: jmp: 00000000
 397 │ Dbg: fn: foo
 398 │ Dbg: 0000000c: addi64: fefe0000000000000000
 399 │ Dbg: 00000017: st: 1ffe00000000000000000000
 400 │ Dbg: fn-args
 401 │ thread 'codegen::tests::struct_return_from_module_function' panicked at hblang/src/cod
  │ egen.rs:995:19:
 402 │ not implemented: size_of: Module(1)
 403 │ stack backtrace:
 404 │  0: rust_begin_unwind
 405 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/std/src/panick
  │ ing.rs:661:5
 406 │  1: core::panicking::panic_fmt
 407 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/panic
  │ king.rs:74:14
 408 │  2: hblang::codegen::Types::size_of
 409 │  at ./src/codegen.rs:995:19
 410 │  3: hblang::codegen::Types::parama
 411 │  at ./src/codegen.rs:910:43
 412 │  4: hblang::codegen::Codegen::handle_task
 413 │  at ./src/codegen.rs:2557:26
 414 │  5: hblang::codegen::Codegen::complete_call_graph_low
 415 │  at ./src/codegen.rs:2506:13
 416 │  6: hblang::codegen::Codegen::complete_call_graph
 417 │  at ./src/codegen.rs:2495:9
 418 │  7: hblang::codegen::Codegen::eval_const_low::{{closure}}
 419 │  at ./src/codegen.rs:2213:25
 420 │  8: hblang::codegen::Codegen::ct_eval
 421 │  at ./src/codegen.rs:3064:19
 422 │  9: hblang::codegen::Codegen::eval_const_low
 423 │  at ./src/codegen.rs:2197:19
 424 │  10: hblang::codegen::Codegen::eval_const
 425 │  at ./src/codegen.rs:2185:9
 426 │  11: hblang::codegen::Codegen::ty
 427 │  at ./src/codegen.rs:2849:22
 428 │  12: hblang::codegen::Codegen::expr_ctx
 429 │  at ./src/codegen.rs:1795:31
 430 │  13: hblang::codegen::Codegen::expr
 431 │  at ./src/codegen.rs:1363:9
 432 │  14: hblang::codegen::Codegen::expr_ctx
 433 │  at ./src/codegen.rs:1705:31
 434 │  15: hblang::codegen::Codegen::expr_ctx
 435 │  at ./src/codegen.rs:2083:29
 436 │  16: hblang::codegen::Codegen::expr
 437 │  at ./src/codegen.rs:1363:9
 438 │  17: hblang::codegen::Codegen::expr_ctx
 439 │  at ./src/codegen.rs:2065:28
 440 │  18: hblang::codegen::Codegen::expr
 441 │  at ./src/codegen.rs:1363:9
 442 │  19: hblang::codegen::Codegen::expr_ctx
 443 │  at ./src/codegen.rs:2065:28
 444 │  20: hblang::codegen::Codegen::expr_ctx
 445 │  at ./src/codegen.rs:1942:30
 446 │  21: hblang::codegen::Codegen::expr
 447 │  at ./src/codegen.rs:1363:9
 448 │  22: hblang::codegen::Codegen::expr_ctx
 449 │  at ./src/codegen.rs:1954:21
 450 │  23: hblang::codegen::Codegen::expr
 451 │  at ./src/codegen.rs:1363:9
 452 │  24: hblang::codegen::Codegen::handle_task
 453 │  at ./src/codegen.rs:2578:12
 454 │  25: hblang::codegen::Codegen::complete_call_graph_low
 455 │  at ./src/codegen.rs:2506:13
 456 │  26: hblang::codegen::Codegen::generate
 457 │  at ./src/codegen.rs:1351:9
 458 │  27: hblang::codegen::tests::generate
 459 │  at ./src/codegen.rs:3261:9
 460 │  28: hblang::run_test
 461 │  at ./src/lib.rs:497:5
 462 │  29: hblang::codegen::tests::struct_return_from_module_function
 463 │  at ./src/lib.rs:33:13
 464 │  30: hblang::codegen::tests::struct_return_from_module_function::{{closure}}
 465 │  at ./src/lib.rs:32:19
 466 │  31: core::ops::function::FnOnce::call_once
 467 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/ops/f
  │ unction.rs:250:5
 468 │  32: core::ops::function::FnOnce::call_once
 469 │  at /rustc/20ae37c18df95f9246c019b04957d23b4164bf7a/library/core/src/ops/f
  │ unction.rs:250:5
 470 │ note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace
  │ .
 471 │ Inf: dropping chunk of size: 888
 472 │ Dbg: deallocating full chunk
 473 │ Inf: dropping chunk of size: 752
 474 │ Dbg: deallocating full chunk
 475 │
 476 │
 477 │ failures:
 478 │  codegen::tests::comptime_pointers
 479 │  codegen::tests::struct_return_from_module_function
 480 │
 481 │ test result: FAILED. 26 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finis
  │ hed in 0.22s
 482 │
 483 │ error: test failed, to rerun pass `-p hblang --lib`
───────┴───────────────────────────────────────────────────────────────────────────────────────