✓
Passing This code compiles and runs correctly.
Code
// Test: std/interpreter:run event
// Uses ~get-scope to get dispatcher, passes to std/interpreter:run
~import std/runtime
~import std/interpreter
~import std/io
~pub event greet { name: []const u8 }
| greeted []const u8
~proc greet|zig {
const std = @import("std");
std.debug.print("GREET: Hello, {s}!\n", .{name});
return .{ .greeted = "Hello!" };
}
~std/runtime:register(scope: "test") {
greet
}
const TEST_SOURCE = "~greet(name: \"World\")";
~std/runtime:get-scope(name: "test")
| scope s |> std/interpreter:run(source: TEST_SOURCE, s.dispatcher)
| result _ |> std/io:print.ln("SUCCESS")
| exhausted _ |> std/io:print.ln("EXHAUSTED")
| parse-error _ |> std/io:print.ln("PARSE ERROR")
| validation-error _ |> std/io:print.ln("VALIDATION ERROR")
| dispatch-error _ |> std/io:print.ln("DISPATCH ERROR")
| not-found |> std/io:print.ln("SCOPE NOT FOUND")
Actual
GREET: Hello, World!
SUCCESS
Expected output
GREET: Hello, World!
SUCCESS
Test Configuration
MUST_RUN