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
450 B
Plaintext
13 lines
450 B
Plaintext
//ww:error "not assignable"
|
|
// A foreign-signature slot must not capture the current module's fn by leaf.
|
|
package beta;
|
|
export type gfn = fn(s: str) str;
|
|
export fn handler(x: i32) i32 = { return x + 41; };
|
|
export fn usebeta() i32 = { let p: *gfn = &handler; if (p == p) { return 1; }; return 0; };
|
|
package gamma;
|
|
export fn handler(s: str) str = { return s; };
|
|
package main;
|
|
import beta;
|
|
import gamma;
|
|
fn main() int = { return beta.usebeta(): int; };
|