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.
13 lines
311 B
Plaintext
13 lines
311 B
Plaintext
//ww:run-exit 42
|
|
// Migrated from 772_typeassert_nonident row call_as_fnptr.
|
|
package main;
|
|
fn g(x: i32) i32 = { return x + 1; };
|
|
fn f(b: bool) (*fn(x: i32) i32 | size) = {
|
|
if (b) { return &g; };
|
|
return 0: size;
|
|
};
|
|
export fn main() i32 = {
|
|
let p = f(true) as *fn(x: i32) i32;
|
|
return (*p)(41);
|
|
};
|