✓
Passing This code compiles and runs correctly.
Code
// The void half of the linear bind-or-discard rule (KORU101):
// a branch that carries NO payload must be handled bindingless — there is
// nothing to bind, so there is nothing to discard either. `| done _ |>` is
// a lie about the data flowing through the program.
//
// Mirror of KORU030 ("branch has payload but no binding"). Together they are
// the full linear discipline: payload => bind or discard; void => bindingless.
const std = @import("std");
~tor check {}
| ok i32
| done
~proc check|zig {
return .done;
}
~check()
| ok _ |> _
| done _ |> _
Must fail at runtime with:
CONTAINS KORU101
CONTAINS carries no payloadFlows
flow ~check click a branch to expand · @labels scroll to their anchor
check