✓
Passing Passing: the compiler rejects this program as expected.
Code
// Test: a bare `captured { ... }` inside `std/cell:capture` is refused —
// `captured` is std/control's ambient word; the cell's write verb is spelled
// `std/cell:captured`. Unqualified writes must not silently target cell state.
~import std/io
~import std/cell
~import std/proto
~import std/runtime
~std/proto(room_state) {
visits: u32
}
~std/runtime:register(scope: "cell") {
}
~std/cell:open(room_state, id: "room-7")
| cell c |> std/cell:capture(c, shape: room_state)
! as s |> captured { visits: 1 }
Actual compiler output
[REGISTRY] Creating dispatcher for scope 'cell'
[REGISTRY] Found 0 events
[REGISTRY] Generated 9792 bytes
error[KORU161]: captured: a bare `captured` write-block is std/control's ambient word — the cell's write verb is `std/cell:captured`
--> tests/regression/400_RUNTIME_FEATURES/460_CELL/460_008_cell_capture_bare_captured_refused/input.kz:19:2Must fail at runtime with:
CONTAINS std/cell:capturedFlows
flow ~std/proto click a branch to expand · @labels scroll to their anchor
std/proto (room_state, source: visits: u32)
flow ~register click a branch to expand · @labels scroll to their anchor
register (scope: "cell", source: )
flow ~open click a branch to expand · @labels scroll to their anchor
open (expr: room_state, id: "room-7")
Test Configuration
MUST_ERROR