Skip to content

Expand interpreter coverage: references, match, intrinsics, aggregate format#2

Open
BornPsych wants to merge 7 commits into
import-interpreter-cratefrom
interpreter-coverage
Open

Expand interpreter coverage: references, match, intrinsics, aggregate format#2
BornPsych wants to merge 7 commits into
import-interpreter-cratefrom
interpreter-coverage

Conversation

@BornPsych

Copy link
Copy Markdown
Collaborator

Stacked on top of the import-interpreter-crate PR. This teaches the interpreter the constructs it previously rejected as Unsupported, so they stop being silently excluded from the cross-field differential. Every addition is field-independent and verified against Noir's ACVM executor: 69 bn254 tests, 51 goldilocks tests, clippy and fmt clean, and the ~505-program execution_success corpus survey at 0 MISMATCH / 0 FALSE-REJECTION (395 agree, up from 383).

The six commits are sequenced so the feature set reads as a progression:

  • Back tuple fields with shared cells and add a reference value — the Value foundation (cell-backed tuples plus a Ref value) that all aliasing builds on.
  • Interpret references and struct-field aliasing&mut parameters, &mut s.field, and nested/multi-level references, including the &mut a.b.c-through-a-reference case.
  • Interpret match and enum patterns — the match arm over the (tag, payload…) enum layout, with integer, boolean, and field scrutinees.
  • Dispatch pure and field-independent intrinsics — slice ops, string/byte conversions, and field decomposition, plus the hint builtins (black_box, as_witness, assert_constant) and the range-check and bit-spread builtins.
  • Interpret aggregate equality and format-string messages==/!= on arrays, tuples, and structs, and assertion f"…" message rendering.
  • Cover closures, wire fixtures into the oracle smoke test, and document the roadmap — closures already work through the existing tuple + call machinery, so this locks that in and records the remaining coverage gaps.

@BornPsych BornPsych changed the title Expand interpreter coverage: references, match, intrinsics, aggregate ==/format Expand interpreter coverage: references, match, intrinsics, aggregate format Jul 19, 2026
@BornPsych
BornPsych requested a review from shreyas-londhe July 19, 2026 23:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant