
What's New in v0.4.4 Features defaults / ?| Scoped Fallback Operator New operator for providing fallback values when Result expressions fail succeed(5i32) ?| 99i32 → returns 5 (success path) fail_always() ?| 99i32 → returns 99 (error path) Both ?| shorthand and defaults keyword form supported RHS restricted to literals, variables, and constants for safety (no function calls) Works in any expression position including function arguments Implicit Result<T> Propagation with Warnings Result<T> auto-unwraps when passed to a parameter expecting T On error: early return propagates the error to the caller Compiler emits a warning so developers are aware of implicit propagation Combines naturally with ?| for flexible error handling chains Error Handling Composition These operators compose elegantly: // Chain ?, ?|, unknown, and is ternary for maximum flexibility int8:a = myFunc() ?| unknown; int8:b = is a == unknown : 10 : a; Also Included Runtime memory primitives (math fmod/to_int, string conversions) Benchmark suite for user stack performance SMT-guided user stack optimization Z3 verifier enhancements Syntax migration script Stats 932 files changed, 11,925 insertions, 9,448 deletions All existing feature tests pass (no regressions)
