○
Planned This feature is planned but not yet implemented.
OWED: enclosing-arm claim — an unhandled branch resolves outward to the nearest compatible same-named arm. Needs a post-transform coverage-time pass (transform-minted `__ring_*` decls are invisible to the frontend desugar — compiler.kz:1259).
Code
// Pins the enclosing-arm claim: an unhandled branch at depth N resolves
// outward to the nearest enclosing continuation that names it — when the
// shapes are compatible (void `full` claims void `full`, no binding). The
// single outer `| full` must satisfy the `full` produced by BOTH nested
// enqueues; capacity 2 makes the THIRD enqueue fire `full` at runtime.
// OWED: today coverage is sibling-level only (KORU022); the claim pass
// must run post-transform where `__ring_*` decls exist.
import std/rings
import std/io
std/rings:new(ring, capacity: 2) { value: u64 }
std/rings:enqueue(ring, v: 42)
| ok |> std/rings:enqueue(ring, v: 100)
| ok |> std/rings:enqueue(ring, v: 7)
| ok |> std/io:print.ln("in")
| full |> std/io:print.ln("ERROR: full")
Expected output
ERROR: full
Flows
flow ~new click a branch to expand · @labels scroll to their anchor
new (ring, capacity: 2, source: value: u64)
flow ~enqueue click a branch to expand · @labels scroll to their anchor
enqueue (ring, v: 42)
Test Configuration
MUST_RUN