// ASM stream Phase D — a bare `x := asm { … -> T }` binding (not a direct // `return asm`) types correctly: the value output flows through the local and // out as the exit code. Regression for the `inferType` `.asm_expr` arm (without // it the binding inferred `.unresolved` and silently produced 0). aarch64-pinned // via `.build` → runs on a matching host, ir-only elsewhere. main :: () -> i64 { x := asm { "mov %[out], #99", [out] "=r" -> i64 }; return x; }