787_xmod_variant_match.c -> r787_xmod_variant_no_default (run-exit 21), r787_xmod_variant_bind_default (42), r787_xmod_variant_shape_a (12) (pkg/errs module dirs), r787_xmod_variant_foreign_qualifier (staged error: w6c 'is not a variant of', w6c_ww rejects via the #95 ambiguity guard — the carrier asserted reject polarity only) 929_match_4arm_cross_module_run.c -> r929_match_{4arm_shadowed_ canonical,3arm_shadowed,5arm_shadowed,6arm_shadowed,4arm_mixed_kinds, 4arm_shadowed_reverse} (run; single-file a+b packages, dropping the carrier's accidental doubled 'package b;' line) 929's byte-id upgrades from 994-delegated to per-fixture via test-data-byteid; the asm-level distinct-CMPQ sentinel remains 728's separate concern. All rows probed green on both stages.
14 lines
378 B
Plaintext
14 lines
378 B
Plaintext
//ww:run-exit 21
|
|
// migrated from test/wcc/787_xmod_variant_match.c: cross-module bare-variant arms with NO default — casecovers exhaustiveness across modules (#13).
|
|
package main;
|
|
import pkg;
|
|
fn classify(e: pkg.u) i32 = {
|
|
match (e) {
|
|
case pkg.a => return 1;
|
|
case pkg.b => return 2;
|
|
};
|
|
};
|
|
export fn main() i32 = {
|
|
return classify(pkg.mkb()) * 10 + classify(pkg.mka());
|
|
};
|