○
Planned This feature is planned but not yet implemented.
OWED: a terminal `| done` handled by `! done` is refused as a shape error.
Failure Output
error[KORU047]: event 'input:compute' is invoked but has no implementation — without one the compiler would silently stub it to return zero-defaults. Implement it with a proc (`~proc compute|zig { ... }`), a bare-return impl (`~compute -> <value>`), a branch constructor (`~compute => <branch> <value>`), or a subflow (`~compute = <flow>`)
--> tests/regression/500_INTEGRATION_TESTING/510_NEGATIVE_TESTS/510_101_terminal_decl_handled_as_effect/input.kz:10:0
❌ Compiler coordination error: Validation failed (see errors above)
(set KORU_BACKEND_TRACE=1 for the backend return trace) Code
// ============================================================================
// Test 510_101: MUST_ERROR — terminal `|` decl branch handled by `!` cont.
//
// The event declares `done` as a TERMINAL branch (`|`), but the consumer
// dispatches with `! done`. The shape checker rejects.
// ============================================================================
pub tor compute { x: i32 } -> i32
compute(x: 1)
! done _ |> _
Must fail at runtime:
Program must error when executed.
Error output must contain
error[KORU025]: branch 'done' is declared as terminalFlows
flow ~compute click a branch to expand · @labels scroll to their anchor
compute (x: 1)