✓
Passing This code compiles and runs correctly.
Code
// The full journey of a present-field deref, across an import: the entry
// and its host proof live in app/lib; the consumer derefs through the
// import. `f.path` is registered, so the Koru layer waves it through (rung
// 2); host linkage routes `*File` to the declaring home and the projection
// compiles end-to-end. Execution with a real File is a further rung still —
// get-path is never called. The print proves the program RAN, not just
// compiled, on that day.
import app/lib
import std/io
pub tor get-path { f: *File } -> string
get-path -> f.path
std/io:print.ln("ok")
Supporting Files
~import std/foreign
// Claim beside proof: the host declaration (substance, Zig-owned) and the
// foreign entry (presence claims, Koru-checked) live in the same module, so
// the erasure-site probe resolves both in one scope. This is the shape a
// future std module owns its host concepts in.
const File = struct {
path: []const u8,
handle: u64,
};
~std/foreign:struct(File) {
path
handle
}
Actual
ok
Expected output
ok
Flows
flow ~print.ln click a branch to expand · @labels scroll to their anchor
print.ln (expr: "ok")
Test Configuration
MUST_RUN