025 qualified patterns

✓ Passing This code compiles and runs correctly.

Code

// Test 310_025: Fully Qualified Pattern Matching
// Validates that qualified patterns match specific modules
// Tests: bare suffix wildcard (print* matches println)

const std = @import("std");

~import "$std/taps"
~import "$std/io"

// Local event to transition to (so tap can fire)
~event finish {}
| done {}

~proc finish {
    std.debug.print("Local print\n", .{});
    return .{ .done = .{} };
}

~event logger { source: []const u8 }

~proc logger {
    std.debug.print("Observed: {s}\n", .{source});
}

// Fully qualified - matches std.io:println via print* wildcard
// Using Profile metatype for string-based source field
~tap(std.io:print* -> *)
| Profile p |> logger(source: p.source)

// Flow: println (void) transitions to finish
// Tap fires because println matches print* and transitions to finish
~std.io:println(text: "From std.io") |> finish()
    | done |> _
input.kz

Expected Output

From std.io
Observed: std.io:println
Local print

Test Configuration

MUST_RUN