✓
Passing This code compiles and runs correctly.
Code
// The terminal vocabulary lives in the same module as compounds. Each named
// material remains its own identity; the compound below references all four.
// String, integer, float, and boolean terminals are accepted by the same
// registry logic, without raw materials leaking into named identity.
import std/io
import std/proto
std/proto:string(Email)
std/proto:i64(UserId)
std/proto:f64(Health)
std/proto:bool(IsActive)
std/proto(Contact) {
email: Email,
user: UserId,
health: Health,
active: IsActive
}
std/io:print.ln("registered")
Actual
registered
Expected output
registered
Flows
flow ~string click a branch to expand · @labels scroll to their anchor
string (expr: Email)
flow ~i64 click a branch to expand · @labels scroll to their anchor
i64 (expr: UserId)
flow ~f64 click a branch to expand · @labels scroll to their anchor
f64 (expr: Health)
flow ~bool click a branch to expand · @labels scroll to their anchor
bool (expr: IsActive)
flow ~std/proto click a branch to expand · @labels scroll to their anchor
std/proto (Contact, source: email: Email,
user: UserId,
health: Health,
active: IsActive)
flow ~print.ln click a branch to expand · @labels scroll to their anchor
print.ln (expr: "registered")
Test Configuration
MUST_RUN