Skip to content

v0.9.9

Choose a tag to compare

@undivisible undivisible released this 20 Sep 12:12
· 1333 commits to main since this release
698f326

Language

  • Compound assignment operators += -= *= /= %= now parse and desugar to plain assignments (scalar, index, and field targets). Previously they silently parsed as expression statements, so loop counters never updated.

Fixes

  • Array codegen on the owned x86 path: array-literal locals now allocate one stack slot per element, element reads and writes address those slots, and dynamically indexed literals materialize at the use site. Constant propagation no longer inlines array literals (which produced unexecutable [1,2,3][i] forms) and counts arr[i] = v / s.f = v as mutations of their base.
  • in execute propagates nonzero JIT exit statuses instead of always exiting 0.
  • JIT runtime maps a data section and rebases global reference sites, so executed globals and struct-field globals hold real state.

Packaging

  • Crate metadata cleanup; CLI --about no longer hardcodes a stale version.