Files
ww/test/wcc/data/r78_structvariant_large_union/case.ww
Hojun-Cho d456263f7e test/wcc/data: grow the declarative compiler corpus to 1,224 fixtures
The r-prefixed waves absorb the runtime, reject, and byte-compare rows
of the migrated native carriers; each fixture is one directory with one
case.ww and a //ww:error, //ww:compile, //ww:run, or //ww:run-exit
directive covering both frontends.
2026-08-07 23:21:04 +09:00

9 lines
450 B
Plaintext

//ww:run-exit 42
package main;
type a = !void; type b = !void;
type big = !struct { f: *fn(p: *i32) i32, data: [3]u64 };
type u = !(a | b | big);
fn impl(p: *i32) i32 = { return *p + 41i32; };
fn mkbig() u = { let x: big; x.f = (&impl): *fn(p: *i32) i32; return x; };
export fn main() i32 = { let r = mkbig(); match (r) { case a => return 90; case b => return 91; case let z: big => { let n: i32 = 1i32; let fp = z.f; return (*fp)(&n): i32; }; }; };