imports: retire the is_pub sketch on NamespaceTarget

Every namespace alias is module surface under the carry rule — the
planned pub-import front-end form is superseded; no per-edge visibility
flag is needed.
This commit is contained in:
agra
2026-06-11 08:49:17 +03:00
parent b8748aee16
commit 22552075d5
2 changed files with 2 additions and 4 deletions

View File

@@ -365,7 +365,6 @@ test "buildImportFacts: namespaced file import captures target_module_path" {
try std.testing.expectEqualStrings(main_path, g.importer_source);
try std.testing.expectEqualStrings(point_path, g.target_module_path);
try std.testing.expect(g.own_decls.len >= 1);
try std.testing.expect(!g.is_pub);
// The alias is also a `.namespace_decl` in the importer's scalar index.
const m_idx = facts.decls.get(main_path) orelse return error.MissingMainIndex;

View File

@@ -482,14 +482,13 @@ pub const ModuleDecls = std.StringHashMap(ModuleRawDeclIndex);
/// One namespace import edge: `alias :: #import "…"` (or `alias :: #import c …`).
/// `target_module_path` is captured at resolution time (otherwise lost — it is
/// not derivable from the namespace node alone). `is_pub` stays false until the
/// `pub`-import phase lands the front-end form.
/// not derivable from the namespace node alone). Every alias is module surface
/// under the carry rule — there is no per-edge visibility flag.
pub const NamespaceTarget = struct {
alias: []const u8,
importer_source: []const u8,
target_module_path: []const u8,
own_decls: []const *Node,
is_pub: bool = false,
/// The `DeclId` of each member in `own_decls`, in slice order. Filled by
/// `buildDeclTable` (empty until then). Lets a member be addressed by stable
/// id without re-deriving it from the node pointer.