839_xmod_nominal_typeeqast.c -> r839_xmod_nominal_match (run-exit 42), r839_xmod_a6_concrete (run), r839_xmod_incompat_concrete (error 'not assignable'), r839_xmod_distinct_alias (error 'ambiguous without nominal layout'). r839_xmod_nominal_match enters DATABYTEID_DIVERGED: the carrier waived byte-id for the pre-existing cross-module tagged-return spill divergence; the DIVERGED row makes it loud-on-fix instead. The typeeqast-layer discriminator itself stays with the lib byteid gate (test/byteid/libbyteid_test.ww), as the carrier documented.
10 lines
341 B
Plaintext
10 lines
341 B
Plaintext
//ww:run
|
|
// migrated from test/wcc/839_xmod_nominal_typeeqast.c: A6 — concrete e.myerr returned into e.res (bare-vs-qualified nominal forward), both stages accept.
|
|
package e;
|
|
export type myerr = !i64;
|
|
export type res = (i64 | myerr);
|
|
package main;
|
|
import e;
|
|
fn wrap(x: e.myerr) e.res = { return x; };
|
|
export fn main() i32 = { return 0; };
|