Files
agra d8076b9333 lang: rename signed integer types sN -> iN
Surface rename of the signed integer family: s1..s64 become i1..i64
(u1..u64, usize, isize unchanged). 'string' keeps the s-prefix arm in
name classification; width parsing moves to the i-prefix arm next to
isize.

Internal TypeId tags follow the surface (.s8/.s16/.s32/.s64 ->
.i8/.i16/.i32/.i64), as do mono-key mangle fragments (ptr_i64,
tu_i64_bool) and all display/diagnostic formatting (i{d}).

Migrated in the same sweep: stdlib + examples + issue repros + FFI C
companions (shared symbol names like ffi_id_i64), expected
stdout/stderr/ir snapshots, specs.md, readme.md, CLAUDE.md/AGENTS.md,
implementation_plan.md, docs/, issue writeups. Vendored stb_image and
historical flow state left untouched.

zig build test: 426/426; examples suite: 595/595.
2026-06-12 09:31:53 +03:00
..

Resolver-target corpus (Fork C)

The second of the two Fork C resolver-acceptance corpora. See the full contract in ../../docs/fork-c/S0.2-e6b-disposition-and-two-corpus-partition.md.

  • What it is: harvested E6b semantics goldens (+ the re-filed E6BR-5 regression) that encode the TARGET behavior of the Fork C resolver for cases where the old name-selector is known-wrong on wt-stdlib-base (E6b unmerged) — it silently resolves a global last-wins author / under-diagnoses / picks the wrong author. On this base the old selector is not a valid oracle, so these are NOT baseline-green.
  • Why separate: the S2 assert-only mirror proves resolver == old-selector over the baseline-green corpus ONLY. Asserting that over these cases would force the new resolver to reproduce the old bug. So they live here, inactive, with NO active examples/expected/ marker — tests/run_examples.sh does not run them.
  • Never silently dropped: every case is enumerated in manifest.md, its TARGET golden is recorded in expected/, and run_resolver_target.sh asserts each case currently FAILS to match its target (xfail). If any case unexpectedly MATCHES on the base, the runner flags it LEAKED — it is actually baseline-green and must be re-classified (moved to examples/expected/), never left here.
  • Flip at S3.9: the Fork C resolver makes these pass; each golden moves to examples/expected/<name>.{exit,stdout,stderr} and this harness goes empty.

Layout

manifest.md                 enumerated list of all 18 cases (class / base-now / target / note)
expected/<name>.exit        TARGET exit (08xx: exact E6b bytes; e6br5: spec)
expected/<name>.stdout      TARGET stdout (08xx only — exact E6b bytes)
expected/<name>.stderr      TARGET stderr (08xx only — exact E6b bytes)
expected/e6br5-*.target.md  E6BR-5 spec target (exact bytes finalized at S3.9)
cases/e6br5-*.sx + dir/     E6BR-5 authored reproducer (self-contained)
run_resolver_target.sh      xfail runner (NOT part of the baseline gate)

The 08xx source trees live under examples/ (harvested as authored, so their #import paths resolve exactly as their baseline-green siblings do) but carry no examples/expected/ marker, so they are inert to run_examples.sh. Only their goldens live here. The E6BR-5 reproducer lives entirely under cases/ (it is self-contained — modules/std.sx resolves via the library/ search path).

Run

zig build                                 # build the compiler first
bash tests/resolver-target/run_resolver_target.sh

Expected today (S0): all 18 cases print xfail, 0 leaked, exit 0.