Move OS / ARCH / POINTER_SIZE + the OperatingSystem / Architecture enums out of build.sx into a new std/target.sx that imports NOTHING, so low-level code can name the target enum types without dragging the build/std barrel (build.sx transitively pulls std + compiler + bundle, ~16k lines of IR). build.sx flat-imports target.sx so the decls stay registered in the standard import graph (build.sx is reachable from std.sx — dropping it would shift every std program's type table). This is not a re-export: flat import only splices into build.sx's own scope. Consumers are unaffected — the compiler resolves OS / ARCH / POINTER_SIZE by name (comptime constants), so `inline if OS`/value reads need no import; a module that names the enum type imports target.sx. No behavior change (full suite green, 817/0); the enum types stay in the same import graph, so no .ir snapshot drift.
8.9 KiB
8.9 KiB