✓
Passing This code compiles and runs correctly.
Code
// Pins that a `bindings` block is the ONLY place a vendored tree's path is
// written: the same declaration that pins the bytes also makes the name resolve.
//
// There is no koru.json here. `koru/vaxis` is importable because the block below
// says where it lives, and the import on the next line reads that redirect —
// which is why the block has to act mid-parse rather than at transform time.
//
// The pin still holds: touch a byte under `vendored/` and this becomes 130_004.
import std/io
import std/vendor
std/vendor:bindings {
koru/vaxis: ./vendored/vaxis
}
import koru/vaxis
koru/vaxis:greet(): v |> std/io:print.ln("{{ v:s }}")
Actual
VENDORED vaxis
Expected output
VENDORED vaxis
Flows
flow ~bindings click a branch to expand · @labels scroll to their anchor
bindings (source: koru/vaxis: ./vendored/vaxis)
flow ~greet click a branch to expand · @labels scroll to their anchor
greet
Imported Files
// The vendored copy. Reachable only because the `bindings` block said where it
// lives — this directory is named in exactly one place.
~pub tor greet {} -> string
~proc greet|zig {
return "VENDORED vaxis";
}
Test Configuration
MUST_RUN