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