You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Non exhaustive conditions in inlined functions
What I’ve tried
Active flag approach: Introduced a guard variable that gets set to 0 after a return, expecting later statements to be skipped. This failed because the VM forbids overwriting the same memory slot (SSA), so the guard cannot be toggled from 1 to 0.
Jump/Label approach: Replaced each inlined return with jump end_label. Although this preserves control flow in theory, we still assign directly into the caller’s result variable on every return path; the SSA invariant breaks when different paths try to write different values,
and runtime fails with Computation invalid.