Parent: #134 Profiles: #163, #164 Dependencies completed: zig-utils/zig-regex#11, zig-utils/zig-regex#12
Implement the six native Yarr__RegularExpression__* imports used by the pinned Home/Bun JavaScriptCore corpus:
initdeinitisValidmatchedLengthmatchessearchRev
Acceptance criteria:
- Match the real C++/Rust executable ABI, including the two-argument
searchRev(RegularExpression*, BunString)signature; document that the checked-in Zig declaration is stale. - Compile BunString patterns through zig-regex with JavaScript-compatible ignore-case, multiline, dot-all, Unicode, UnicodeSets, and sticky behavior where applicable.
- Preserve valid/invalid compiled state and JavaScriptCore last-match-length behavior, including reset to
-1after a failed match. - Return UTF-16 code-unit positions and lengths, including astral and lone-surrogate input.
- Match JavaScriptCore reverse-search behavior for overlap, empty matches, and subset matches.
- Keep allocation, null-input, and object lifetime behavior deterministic at the native boundary.
- Add focused ABI tests plus a linked consumer fixture for all six imports.
- Refresh both private-import inventories, the implementation matrix, README status, and parent tracking issues with exact evidence.
Backward compatibility is intentionally out of scope while zig-js is pre-release and unused.
Implementation: bc4b9e32
Documentation/inventories: ff6d8730
zig-regex prerequisites: fd4927c, 86159c5