Parents: #494, #500 Dependency: zig-utils/zig-regex#21 Related: #625
Problem
GitHub Actions now installs Zig 0.17.0-dev.1811. The current tree compiles locally with 0.17.0-dev.1441, but CI fails every build-based job with seven compile errors:
- three
std.ArrayListUnmanaged.getLastcalls inFnScopeafter that convenience API was removed; - three cached
Matcher.findFromcalls that exceed the newer one-level implicit pointer-dereference rule; - one owned
zig-regexgetLastcall tracked by zig-utils/zig-regex#21.
Authoritative run: https://github.com/zig-utils/zig-js/actions/runs/32258993747
Scope
- Express the lexical-scope non-empty invariant through explicit final-item access.
- Explicitly dereference cached matcher pointers at the three
findFromcall sites without changing matcher ownership or reuse. - Land the sibling regex compatibility fix first, then validate the integrated repository.
- Preserve compatibility with the documented Zig 0.17 development floor; do not pin CI backward or hide failures.
No-workaround rules
- No CI version rollback, conditional source fork by compiler version, disabled job, vendored stdlib shim, or reduced test matrix.
Acceptance
- All seven reported compile errors are eliminated on Zig
0.17.0-dev.1811. - Focused compiler and RegExp tests pass on both the local supported compiler and
dev.1811. - Full local parallel units pass with no leaks.
- Dependency audit stays exact.
- A new main CI run reaches runtime gates instead of failing compilation.