Final E2-C2 commit. New decl-namespace gate, both stages: dup fn/type/def/let build-FAIL with a right-reason "duplicate <kind> <name>" diag (shared substring; ww has no line:col); builtin_redecl ACCEPT exit 7 (shadowing a pre-seeded builtin is redeclarable); modfn coexist reshaped to a real directory package (696 precedent) via ww build --sep on two layouts (modfn_coexist + _vbu use-before-value) so both run to 6, cs==ww per-pkg .s/.wwi/.unit.ww, cross-order byte-id on .s/.wwi (.unit.ww excluded: verbatim source flips by construction, order-independence is codegen). __root.s carries both CALL aa.helper and CALL main.aa distinctly. Test-only; all 5 pins hold; 443 to 444.
7 lines
332 B
Plaintext
7 lines
332 B
Plaintext
// #30 dir-package — the imported module `aa` for the VALUE-BEFORE-USE
|
|
// twin. Identical to ../../modfn_coexist/aa/aa.ww; kept as its own dir so
|
|
// the two layouts are independently buildable. Driver: the
|
|
// modfn_coexist_vbu leg of the decl-namespace gate (NNN_declns_sep.c).
|
|
package aa;
|
|
export fn helper() i32 = { return 5; };
|