✓
Passing Passing: the compiler rejects this program as expected.
Code
// Pins WHICH of the two recorded trees the build is checked against: the compiled
// one, never the copied one.
//
// The tree on disk here hashes to exactly `as-copied` — it is byte-for-byte what
// upstream sent. That is still a refusal, because the program is declared to
// build from the patched tree and someone has reverted it. A gate that accepted
// either side would let a build silently lose a patch it depends on.
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 }}")
Supporting Files
~pub tor greet {} -> string
~proc greet|zig {
return "upstream vaxis";
}
Actual compiler output
error[KORU171]: vendored `koru/vaxis` drifted from its pin: changed `index.kz`. Review it with `koruc tests/regression/100_MODULE_SYSTEM/130_PACKAGES/130_011_vendor_gate_is_the_compiled_tree/input.k vendor diff`, then re-pin with `vendor sync` once you have read the change
--> tests/regression/100_MODULE_SYSTEM/130_PACKAGES/130_011_vendor_gate_is_the_compiled_tree/input.k:12:0Must fail at runtime:
Program must error when executed.
Error output must contain
drifted from its pin: changed `index.kz`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
Test Configuration
MUST_ERROR