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.
16 lines
769 B
Plaintext
16 lines
769 B
Plaintext
// issue 0105 case 2 — same-name struct, SAME fields. Two flat-imported modules
|
|
// each declare `Pair { x, y }` with identical shape. They are STILL distinct
|
|
// nominal identities (each holds its own per-source TypeId / nominal id), not
|
|
// folded into one — both register, both monomorphize their own formatter, and
|
|
// each module's value prints correctly. (The nominal-distinctness mechanism is
|
|
// pinned at the unit level in `types.test.zig`; this example pins that two
|
|
// identically-shaped same-name structs coexist without collapse or crash.)
|
|
#import "modules/std.sx";
|
|
#import "0753-modules-same-name-struct-same-fields/a.sx";
|
|
#import "0753-modules-same-name-struct-same-fields/b.sx";
|
|
|
|
main :: () -> i32 {
|
|
print("a={} b={}\n", a_pair(), b_pair());
|
|
0
|
|
}
|