E6005
E6005 — A user-defined topology declaration is incoherent: it cannot see its own default memory space (default_space ∉ visibility). See the topology coherence check.
What the compiler reports
E6005
The fragments the test suite holds the compiler to. An ellipsis marks text the test does not constrain; the emitted message also carries a source location.
A program that triggers it
//
// A topology whose explicit `visible` set excludes its own default memory space is
// incoherent -- it cannot see its own memory. The coherence check rejects it (E6005).
Topology BadTPU {
memory: Memory::Local_SRAM
visible: [Memory::CPU_DRAM]
}
fn main() -> i32 {
spawn on(Topology::BadTPU) {
let x = 1;
}
return 0;
}
From tests/frontend/fail/incoherent_topology_default_not_visible.vx, which asserts this diagnostic on every commit.
Related
Topologies and memoryThe chapter covering the rule this code enforces.
All diagnosticsEvery code the compiler can emit, grouped by stage.
E6004Transfer violates the boundary contract at a seam (per-seam local-completeness / soundness obligation is
sat; a stale read can violate the contract).
E6006A Memory declaration's within: hierarchy forms a cycle (a space contains itself).