stersmust have valid type has fact: assertion failed: result.len() == 1 || fact.is_none()Number of CLIF instructions to lower: index.crates.io-1949cf8c6b5b557f/cranelift-codegen-0.110.2/src/machinst/compile.rscranelift_codegen::machinst::compileNumber of lowered vcode instructions: vcode from lowering: 
register allocationregister allocation checkerRegister allocation error for vcode

CLIF for error:
Register allocation checker errors:

for vcode:
BlockLoweringOrder: function body index.crates.io-1949cf8c6b5b557f/cranelift-codegen-0.110.2/src/machinst/blockorder.rscranelift_codegen::machinst::blockorderBlockLoweringOrder: assertion failed: opcode.is_terminator()must call `make_abi_sig_from_ir_sig_ref` before `get_abi_sig_for_sig_ref`must call `make_abi_sig_from_ir_signature` before `get_abi_sig_for_signature`ABISig: sig  => args end =  rets end = 
             arg stack =  ret stack =  stack_ret_arg = call_clobbers: retval reg ABI: func signature invalid dynamic vector type: no vmcontext parameter foundglobal value for stack limit not supported: Argument stack offset greater than 2GB; should hit impl limit firstStructArg in return position is unsupportedImplicitPtrArg in return position is unsupportedgen_retval_area_setup: not neededgen_retval_area_setup: inst ; ptr reg is , state = Epilogue: gen_spill:  into slot gen_reload:  from slot assertion failed: pointer.is_none()if the tail callee has a return pointer, then the tail caller must as wellStructArg not supported in return positionImplicitPtrArg not supported in return positionindex.crates.io-1949cf8c6b5b557f/cranelift-codegen-0.110.2/src/machinst/buffer.rsMachBuffer: align to cranelift_codegen::machinst::buffer is not a power of twoMachBuffer: new label -> MachBuffer: first  labels are for blocks bytes aligned to  at label MachBuffer: bind label Unexpected cycle in label aliasesMachBuffer: use_label_at_offset: offset  label  kind assertion failed: self.cur_offset() == startassertion failed: !self.pending_fixup_records.is_empty()assertion failed: b.end == self.cur_offset(); off now enter optimize_branches:
 b = 
 l = 
 f = optimize_branches: last branch  -> more than one branch; prev_b =  -> uncond follows another uncond; truncating -> uncond follows a conditional, and conditional's target resolves to current offset -> reassigning target of condbr to  -> after label redirects, restarting loop -> label at start of branch  redirected to target branch with target == cur off; truncatingleave optimize_branches:
 b = purge_latest_branches: removing branch 