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:
15
test/wcc/data/r767_match_variant_nullable_fn/case.ww
Normal file
15
test/wcc/data/r767_match_variant_nullable_fn/case.ww
Normal file
@@ -0,0 +1,15 @@
|
||||
//ww:run-exit 107
|
||||
package main;
|
||||
fn ai(x: i32) i32 = { return x + 1; };
|
||||
fn bi(x: i32) i32 = { return x + 100; };
|
||||
fn indi(f: *fn(x: i32) i32, x: i32) i32 = { return (*f)(x); };
|
||||
export fn main() i32 = {
|
||||
let pick: i32 = 1;
|
||||
let v: (*fn(x: i32) i32 | void) = &ai;
|
||||
if (pick != 0) { v = &bi; };
|
||||
let r: i32 = match (v) {
|
||||
case void => yield 99: i32;
|
||||
case let f: *fn(x: i32) i32 => yield indi(f, 7);
|
||||
};
|
||||
return r;
|
||||
};
|
||||
Reference in New Issue
Block a user