diff --git a/src/parser.zig b/src/parser.zig index 305d078..52b66bd 100644 --- a/src/parser.zig +++ b/src/parser.zig @@ -424,6 +424,10 @@ pub const Parser = struct { if (self.current.tag == .hash_foreign) { // name : type #foreign [lib] ["c_name"]; (extern global from libsystem etc.) + // Phase 5.0: `#foreign` is an alias for `extern`. Build the SAME + // extern-named AST the postfix `extern` global path builds below — + // lowering coalesces is_foreign/is_extern identically (decl.zig:1127, + // 1141), so this is behavior-preserving (snapshots unchanged). self.advance(); var lib_ref: ?[]const u8 = null; if (self.current.tag == .identifier) { @@ -442,9 +446,9 @@ pub const Parser = struct { .name_span = name_span, .type_annotation = type_node, .value = null, - .is_foreign = true, - .foreign_lib = lib_ref, - .foreign_name = c_name, + .is_extern = true, + .extern_lib = lib_ref, + .extern_name = c_name, .is_raw = name_is_raw, } }); }