Files
ww/test/wcc/data/r812_assign_match_bind/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

6 lines
446 B
Plaintext

//ww:run
package main;
type st = struct { id: size, m: (void | size) };
type un = (st | void);
export fn main() i32 = { let src: un = st { id = 6: size, m = 8: size }; let dst: st = st { id = 0: size, m = void }; match (src) { case let s: st => { if (!(s.m is size)) { return 1; }; dst = s; }; case void => { return 2; }; }; if (dst.id != 6) { return 3; }; if (!(dst.m is size)) { return 4; }; if (dst.m as size != 8) { return 5; }; return 0; };