Commit Graph
4 Commits
Author SHA1 Message Date
Chris Tate e161dc4446 Treat type-asserted values as present in the optional-value analysis
`hot(xs[i] as number)` and `hot(stack.pop() as number)` counted as
possibly undefined, so `hot(n: number)` took a boxed `number | undefined`
parameter and callers boxed every number they passed. An assertion to a
type without undefined already checks the value and throws a TypeError
for undefined, so its result is now treated as present, like `x!`.

Fixes #985
Co-authored-by: Tim Kendall <1427378+timkendall@users.noreply.github.com>
2026-10-17 16:00:54 -05:00
Chris Tate 235af20132 Merge main and extract i32 entry bodies in emission tests 2026-10-13 12:36:06 -05:00
Chris Tate 7e6294ca0f Make scriptc compilation native-only 2026-10-12 12:25:30 -05:00
Chris Tate 477f97a840 Track optional values precisely through callbacks, captures and pops (#784) 2026-10-09 10:33:07 -05:00