diff --git a/lib/std/json/scanner_test.zig b/lib/std/json/scanner_test.zig index b11ae7464d..be9249fa65 100644 --- a/lib/std/json/scanner_test.zig +++ b/lib/std/json/scanner_test.zig @@ -200,7 +200,7 @@ const number_test_stems = .{ .{ "", "e0", "E0", "e+0", "e-0", "e9999999999999999999999999999" }, }; const number_test_items = blk: { - comptime var ret: []const []const u8 = &[_][]const u8{}; + var ret: []const []const u8 = &[_][]const u8{}; for (number_test_stems[0]) |s0| { for (number_test_stems[1]) |s1| { for (number_test_stems[2]) |s2| { diff --git a/lib/std/meta/trailer_flags.zig b/lib/std/meta/trailer_flags.zig index 2b9dcd546e..ab046f9a40 100644 --- a/lib/std/meta/trailer_flags.zig +++ b/lib/std/meta/trailer_flags.zig @@ -20,7 +20,7 @@ pub fn TrailerFlags(comptime Fields: type) type { pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false); pub const FieldValues = blk: { - comptime var fields: [bit_count]Type.StructField = undefined; + var fields: [bit_count]Type.StructField = undefined; for (@typeInfo(Fields).Struct.fields, 0..) |struct_field, i| { fields[i] = Type.StructField{ .name = struct_field.name, diff --git a/src/AstGen.zig b/src/AstGen.zig index 6b93f9567c..b32ee67b0a 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -3235,6 +3235,8 @@ fn varDecl( return &sub_scope.base; }, .keyword_var => { + if (var_decl.comptime_token != null and gz.is_comptime) + return astgen.failTok(var_decl.comptime_token.?, "'comptime var' is redundant in comptime scope", .{}); const is_comptime = var_decl.comptime_token != null or gz.is_comptime; var resolve_inferred_alloc: Zir.Inst.Ref = .none; const alloc: Zir.Inst.Ref, const result_info: ResultInfo = if (var_decl.ast.type_node != 0) a: { diff --git a/test/cases/compile_errors/redundant_comptime_var.zig b/test/cases/compile_errors/redundant_comptime_var.zig new file mode 100644 index 0000000000..9c6acbcdf0 --- /dev/null +++ b/test/cases/compile_errors/redundant_comptime_var.zig @@ -0,0 +1,7 @@ +comptime { + comptime var x = undefined; +} + +// error +// +// :2:5: error: 'comptime var' is redundant in comptime scope