authorgravatar for wrongnull@gmail.comBogdan Romanyuk <wrongnull@gmail.com> 2024-01-10 04:09:39+03:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-01-09 20:09:39-05:00
log4a1a5ee47b60eb697ed814d7b1eb6f5c45d65f5a
tree05889bfc9bd5be0f10d2fcc3ee343c8c73de5354
parent157cdaee0e508ae0411d6f785456e4273f4fa862
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

AstGen: add error for redundant comptime var in comptime scope (#18242)


4 files changed, 11 insertions(+), 2 deletions(-)

lib/std/json/scanner_test.zig+1-1
......@@ -200,7 +200,7 @@ const number_test_stems = .{
200200 .{ "", "e0", "E0", "e+0", "e-0", "e9999999999999999999999999999" },
201201};
202202const number_test_items = blk: {
203 comptime var ret: []const []const u8 = &[_][]const u8{};
203 var ret: []const []const u8 = &[_][]const u8{};
204204 for (number_test_stems[0]) |s0| {
205205 for (number_test_stems[1]) |s1| {
206206 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 {
2020
2121 pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false);
2222 pub const FieldValues = blk: {
23 comptime var fields: [bit_count]Type.StructField = undefined;
23 var fields: [bit_count]Type.StructField = undefined;
2424 for (@typeInfo(Fields).Struct.fields, 0..) |struct_field, i| {
2525 fields[i] = Type.StructField{
2626 .name = struct_field.name,
src/AstGen.zig+2
......@@ -3235,6 +3235,8 @@ fn varDecl(
32353235 return &sub_scope.base;
32363236 },
32373237 .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", .{});
32383240 const is_comptime = var_decl.comptime_token != null or gz.is_comptime;
32393241 var resolve_inferred_alloc: Zir.Inst.Ref = .none;
32403242 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 @@
1comptime {
2 comptime var x = undefined;
3}
4
5// error
6//
7// :2:5: error: 'comptime var' is redundant in comptime scope