✓
Passing This code compiles and runs correctly.
Code
// Test 310_035: Tap on Void Event Transition
// Validates that void events CAN be tapped when they transition to another event
//
// This tests the fix for bare suffix wildcards (print* matching println)
// and void event handling (__void branch in BranchEnum)
const std = @import("std");
~import "$std/io"
~import "$std/taps"
// Logger to observe taps
~event log { msg: []const u8 }
~proc log {
std.debug.print("TAP: {s}\n", .{msg});
}
// Tap: observe std.io:println when it transitions to another event
// Using Profile for string source field
~tap(std.io:print* -> *)
| Profile p |> log(msg: p.source)
// Flow: println transitions to a local event
~event finish {}
| done {}
~proc finish {
std.debug.print("Done\n", .{});
return .{ .done = .{} };
}
// Main flow: println (void) transitions to finish (has branch)
~std.io:println(text: "Hello") |> finish()
| done |> _
Expected Output
Hello
TAP: std.io:println
Done
Test Configuration
MUST_RUN