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.
This commit is contained in:
8
test/wcc/data/r78_structvariant_large_union/case.ww
Normal file
8
test/wcc/data/r78_structvariant_large_union/case.ww
Normal file
@@ -0,0 +1,8 @@
|
||||
//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; }; }; };
|
||||
Reference in New Issue
Block a user