Move examples/*.sx and their expected/ snapshots into per-category subfolders (examples/<category>/...). Folder = leading filename token, with ffi-objc/ffi-jni kept whole; filenames are unchanged. The corpus runner and LSP sweep now discover each category's expected/ dir, while issues/ stays flat. Example 1058's repo-root-relative companion import is made file-relative. Path strings embedded in 164 snapshots were regenerated (path-only changes). Test-layout docs in CLAUDE.md updated.
15 lines
691 B
Plaintext
15 lines
691 B
Plaintext
// issue 0105 case 1 — same-name struct, DIFFERENT fields. Two flat-imported
|
|
// modules each declare a top-level `Box` with a different field set. Each
|
|
// module's function builds and returns ITS OWN `Box`; `main` (which authors no
|
|
// `Box`) prints both. Each value resolves against its declaring module's type,
|
|
// so the formatter shows A's `{x}` and B's `{p, q}` — proving the two `Box`
|
|
// types are distinct nominal identities, not a single last-wins collapse.
|
|
#import "modules/std.sx";
|
|
#import "0752-modules-same-name-struct-distinct-fields/a.sx";
|
|
#import "0752-modules-same-name-struct-distinct-fields/b.sx";
|
|
|
|
main :: () -> i32 {
|
|
print("a={} b={}\n", a_box(), b_box());
|
|
0
|
|
}
|