✓
Passing This code compiles and runs correctly.
Code
// ============================================================================
// Test 210_059: Reject tilde invocation after pipe-forward
// A pipe-forward (|>) chains into a continuation body, not a new flow.
// Writing `~call()` after `|>` is nonsensical — if you need to chain
// flows, use a branch binding and invoke from the continuation body.
// ============================================================================
~event greet { name: []const u8 }
| done []const u8
~proc greet {
return .{ .done = "Hello!" };
}
~event farewell { name: []const u8 }
| done []const u8
~proc farewell {
return .{ .done = "Goodbye!" };
}
// INVALID: ~ invocation after |> is not valid Koru
~greet(name: "World")
|>
~farewell(name: "World")
Error Verification
Actual Compiler Output
error[PARSE001]: Pipeline continuation '|>' requires a step. Nested flows (~) are not allowed here.
--> tests/regression/200_COMPILER_FEATURES/210_PARSER/210_059_reject_tilde_after_pipe_forward/input.kz:25:0
|
25 | |>
| ^Test Configuration
MUST_FAIL
Expected Behavior:
FRONTEND_COMPILE_ERROR