From 15dddfd84d9007689ef1fa6f4abedb88c570973a Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Fri, 22 Jul 2022 13:20:18 +0300 Subject: AstGen: make comptime fields in packed and extern structs compile errors --- src/AstGen.zig | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/AstGen.zig') diff --git a/src/AstGen.zig b/src/AstGen.zig index fa1f72670a..6df27d6983 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -4214,6 +4214,12 @@ fn structDeclInner( const have_value = member.ast.value_expr != 0; const is_comptime = member.comptime_token != null; + if (is_comptime and layout == .Packed) { + return astgen.failTok(member.comptime_token.?, "packed struct fields cannot be marked comptime", .{}); + } else if (is_comptime and layout == .Extern) { + return astgen.failTok(member.comptime_token.?, "extern struct fields cannot be marked comptime", .{}); + } + if (!is_comptime) { known_non_opv = known_non_opv or nodeImpliesMoreThanOnePossibleValue(tree, member.ast.type_expr); -- cgit v1.2.3