Discovered nexus-dvr6.6 batch10. Specific shape:
let r = try
raise SomeExn(...)
return 0 // unreachable but typechecks
catch _ -> 1
end
triggers wasm codegen 'variable "__t2" has conflicting wasm local types' E2010. Sidestepped by moving the unreachable return past end.
Likely the LIR slot allocator doesn't handle the unreachable-after-raise path correctly: __t2 gets two type registrations from different branches that diverged via raise.
Acceptance: the inline shape compiles cleanly without local-type conflict.
Discovered nexus-dvr6.6 batch10. Specific shape:
triggers wasm codegen 'variable "__t2" has conflicting wasm local types' E2010. Sidestepped by moving the unreachable return past
end.Likely the LIR slot allocator doesn't handle the unreachable-after-raise path correctly: __t2 gets two type registrations from different branches that diverged via raise.
Acceptance: the inline shape compiles cleanly without local-type conflict.