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.
16 lines
413 B
Plaintext
16 lines
413 B
Plaintext
//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;
|
|
};
|