✓
Passing Passing: the compiler rejects this program as expected.
Code
// The duplicate wall through the DEFAULT DOOR. Two std/proto(Engine)
// declarations must collide loudly — KORU030 naming BOTH declaration sites —
// exactly as two std/types:proto(Engine) do in 660_029. The wall fires in
// phantom_semantic_checker.zig registerDeclaredIdentity; the 2026-09-03
// proto_door rung widened the scan so `std/proto:default(Engine)` registers
// the entry AND its derived container (`List_Engine`) — a second registrant
// is a loud collision, never a silent merge.
import std/proto
std/proto(Engine) {
rpm: i32
}
std/proto(Engine) {
rpm: i32
serial: string
}Actual compiler output
error[KORU030]: duplicate proto declaration 'Engine' — a proto entry is registered once; the declaration at tests/regression/600_STDLIB/660_COLLECTIONS/660_031_duplicate_proto_refused_default_door/input.k:14 collides with the prior registration at tests/regression/600_STDLIB/660_COLLECTIONS/660_031_duplicate_proto_refused_default_door/input.k:10
--> tests/regression/600_STDLIB/660_COLLECTIONS/660_031_duplicate_proto_refused_default_door/input.k:14:0
❌ Compiler coordination error: Phantom semantic validation failed
(set KORU_BACKEND_TRACE=1 for the backend return trace)Compiler must reject:
Compilation must fail with a diagnostic.
Flows
flow ~std/proto click a branch to expand · @labels scroll to their anchor
std/proto (Engine, source: rpm: i32)
flow ~std/proto click a branch to expand · @labels scroll to their anchor
std/proto (Engine, source: rpm: i32
serial: string)
Test Configuration
MUST_ERROR