✓
Passing Passing: the compiler rejects this program as expected.
Code
// A `@label(name: v)` arg must name a field of the label's anchored event —
// the jump rebinds `<label>_<name>` state vars seeded from the anchor's
// declared inputs. `badname` names no field of `counter`: the emitter wrote
// `loop_badname = c`, an identifier nobody declared, and the backend died on
// it (rung 3). The wall exists (KORU043, 244) but continuation labels on a
// void chain were never registered, so the jump's name check never ran.
const std = @import("std");
~tor counter { n: i32 }
| next i32
| done i32
~proc counter|zig {
if (n < 5) { return .{ .next = n + 1 }; }
return .{ .done = n };
}
~tor start {}
~proc start|zig {}
~start() |> #loop counter(n: 1)
| next c |> @loop(badname: c)
| done |> _
Actual compiler output
error[KORU043]: @jump arg 'badname' names no field of 'counter' — label args re-seed loop state by param name
--> tests/regression/200_COMPILER_FEATURES/210_PARSER/210_267_label_jump_unknown_param_refused/input.kz:22:0
❌ Compiler coordination error: Phantom semantic validation failed
(set KORU_BACKEND_TRACE=1 for the backend return trace)Compiler must reject:
Compilation must fail with a diagnostic.
Flows
flow ~start click a branch to expand · @labels scroll to their anchor
start
Test Configuration
MUST_ERROR