✓
Passing This code compiles and runs correctly.
Code
// Test: multi-fire effect-branch pump, void event (no terminal).
//
// The producer loops and calls `tick(i)` three times. Consumer handles
// each `! tick` by printing. No `|` terminal — when the loop falls off,
// the proc returns implicit void. This is the "fire-and-forget pump"
// shape — single yielding kind, multi-fire, no completion signal.
~import "$std/io"
~pub event ticker { n: usize }
! tick usize
~proc ticker|zig {
var i: usize = 0;
while (i < n) : (i += 1) {
tick(i);
}
}
~ticker(n: 3)
! tick i |> std.io:print.blk {
tick {{ i:d }}
}
Actual
tick 0
tick 1
tick 2
Expected output
tick 0
tick 1
tick 2
Test Configuration
MUST_RUN