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
{{ message }}
Repository navigation
TypedPython: verifier and cgen disagree on whether an F64/BOOL Unbox can deopt #271
Found during #143. verify.py e_Unbox sets can_deopt only for an I64 Unbox (and test_verify.py asserts an F64 Unbox is fine in an impure function), but cgen emits tp_unbox_f64 / tp_unbox_bool, which return 1 (deopt) on a non-exact operand, and cgen.py treats every Unbox as may-deopt. In an impure function a deopt after an effect would repeat that effect on redo. The front end currently emits no Unbox, so source programs do not reach it; hand-built IR does.
Done when: verifier and cgen agree (either every scalar Unbox can deopt, or F64/BOOL Unbox is only accepted on an operand proven exact, with cgen emitting no deopt branch), and a test pins the agreed rule.
Activity
Merge pull request #290 from thisisthepy/feat/tp-unbox-deopt
b-re-w commentedon Oct 25, 2026
Landed in develop via #290.