✓
Passing This code compiles and runs correctly.
Code
// ============================================================================
// Pins the non-exhaustiveness wall: a branch handled ONLY behind `when`
// guards (no unguarded else case) is rejected with KORU050 and its teaching
// message. Duplicate-named branches are a comptime expression tool consumed
// by transforms (ruled 2026-07-17), so ambiguity/exhaustiveness is judged
// AFTER transforms — the wall fires post-transform, never in the Stage-A
// frontend.
// ============================================================================
~tor check { x: i32, y: i32 }
| high i32
| low i32
// Invalid: Two when-clauses but NO else case (non-exhaustive).
// The chain below is missing a `| high h |> _` else handler.
~check(x: 10, y: 5)
| high h when h.x > 10 |> _
| high h when h.x > 5 |> _
| low |> _
Must fail at runtime with:
CONTAINS error[KORU050]
CONTAINS branch 'high' has when-guarded handlers but no else caseFlows
flow ~check click a branch to expand · @labels scroll to their anchor
check (x: 10, y: 5)