aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorDavid Rubin <daviru007@icloud.com>2025-02-13 11:54:45 -0800
committerAndrew Kelley <andrew@ziglang.org>2025-02-22 17:21:34 -0500
commit36fc2d2607f350961b66654da7d2a28eade723a2 (patch)
tree8dba1390586cc2f8e94474786f2eb60809bc2441 /lib/std
parent61ee9f94158bdd595a3cec632c6690672127ad71 (diff)
downloadzig-36fc2d2607f350961b66654da7d2a28eade723a2.tar.gz
zig-36fc2d2607f350961b66654da7d2a28eade723a2.zip
AstGen: make layout specifiers on opaque containers a compile error
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/zig/AstGen.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/std/zig/AstGen.zig b/lib/std/zig/AstGen.zig
index d43a837b2f..6aee6880b3 100644
--- a/lib/std/zig/AstGen.zig
+++ b/lib/std/zig/AstGen.zig
@@ -5913,6 +5913,10 @@ fn containerDecl(
var wip_members = try WipMembers.init(gpa, &astgen.scratch, decl_count, 0, 0, 0);
defer wip_members.deinit();
+ if (container_decl.layout_token) |layout_token| {
+ return astgen.failTok(layout_token, "opaque types do not support 'packed' or 'extern'", .{});
+ }
+
for (container_decl.ast.members) |member_node| {
const res = try containerMember(&block_scope, &namespace.base, &wip_members, member_node);
if (res == .field) {