| author | |
| committer | |
| log | 4a1a5ee47b60eb697ed814d7b1eb6f5c45d65f5a |
| tree | 05889bfc9bd5be0f10d2fcc3ee343c8c73de5354 |
| parent | 157cdaee0e508ae0411d6f785456e4273f4fa862 |
| signature |
4 files changed, 11 insertions(+), 2 deletions(-)
lib/std/json/scanner_test.zig+1-1| ... | @@ -200,7 +200,7 @@ const number_test_stems = .{ | ... | @@ -200,7 +200,7 @@ const number_test_stems = .{ |
| 200 | .{ "", "e0", "E0", "e+0", "e-0", "e9999999999999999999999999999" }, | 200 | .{ "", "e0", "E0", "e+0", "e-0", "e9999999999999999999999999999" }, |
| 201 | }; | 201 | }; |
| 202 | const number_test_items = blk: { | 202 | const number_test_items = blk: { |
| 203 | comptime var ret: []const []const u8 = &[_][]const u8{}; | 203 | var ret: []const []const u8 = &[_][]const u8{}; |
| 204 | for (number_test_stems[0]) |s0| { | 204 | for (number_test_stems[0]) |s0| { |
| 205 | for (number_test_stems[1]) |s1| { | 205 | for (number_test_stems[1]) |s1| { |
| 206 | for (number_test_stems[2]) |s2| { | 206 | for (number_test_stems[2]) |s2| { |
lib/std/meta/trailer_flags.zig+1-1| ... | @@ -20,7 +20,7 @@ pub fn TrailerFlags(comptime Fields: type) type { | ... | @@ -20,7 +20,7 @@ pub fn TrailerFlags(comptime Fields: type) type { |
| 20 | 20 | ||
| 21 | pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false); | 21 | pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false); |
| 22 | pub const FieldValues = blk: { | 22 | pub const FieldValues = blk: { |
| 23 | comptime var fields: [bit_count]Type.StructField = undefined; | 23 | var fields: [bit_count]Type.StructField = undefined; |
| 24 | for (@typeInfo(Fields).Struct.fields, 0..) |struct_field, i| { | 24 | for (@typeInfo(Fields).Struct.fields, 0..) |struct_field, i| { |
| 25 | fields[i] = Type.StructField{ | 25 | fields[i] = Type.StructField{ |
| 26 | .name = struct_field.name, | 26 | .name = struct_field.name, |
src/AstGen.zig+2| ... | @@ -3235,6 +3235,8 @@ fn varDecl( | ... | @@ -3235,6 +3235,8 @@ fn varDecl( |
| 3235 | return &sub_scope.base; | 3235 | return &sub_scope.base; |
| 3236 | }, | 3236 | }, |
| 3237 | .keyword_var => { | 3237 | .keyword_var => { |
| 3238 | if (var_decl.comptime_token != null and gz.is_comptime) | ||
| 3239 | return astgen.failTok(var_decl.comptime_token.?, "'comptime var' is redundant in comptime scope", .{}); | ||
| 3238 | const is_comptime = var_decl.comptime_token != null or gz.is_comptime; | 3240 | const is_comptime = var_decl.comptime_token != null or gz.is_comptime; |
| 3239 | var resolve_inferred_alloc: Zir.Inst.Ref = .none; | 3241 | var resolve_inferred_alloc: Zir.Inst.Ref = .none; |
| 3240 | const alloc: Zir.Inst.Ref, const result_info: ResultInfo = if (var_decl.ast.type_node != 0) a: { | 3242 | const alloc: Zir.Inst.Ref, const result_info: ResultInfo = if (var_decl.ast.type_node != 0) a: { |
test/cases/compile_errors/redundant_comptime_var.zig created+7| ... | @@ -0,0 +1,7 @@ | ||
| 1 | comptime { | ||
| 2 | comptime var x = undefined; | ||
| 3 | } | ||
| 4 | |||
| 5 | // error | ||
| 6 | // | ||
| 7 | // :2:5: error: 'comptime var' is redundant in comptime scope | ||