| author | |
| committer | |
| log | 605f2a0978c3ae262e224ff01d163d412a64c284 |
| tree | 5dbe00111ee2269e7dc345d30492d1197bc383bd |
| parent | c62487da76b08a0dfb69fbf76501250ca065c140 |
| signature |
19 files changed, 68 insertions(+), 49 deletions(-)
test/cases/compile_errors/colliding_invalid_top_level_functions.zig+3-4| ... | ... | @@ -5,10 +5,9 @@ export fn entry() usize { |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | // error |
| 8 | // backend=stage2 | |
| 9 | // target=native | |
| 10 | 8 | // |
| 11 | // :2:1: error: redeclaration of 'func' | |
| 12 | // :1:1: note: other declaration here | |
| 9 | // :1:4: error: duplicate struct member name 'func' | |
| 10 | // :2:4: note: duplicate name here | |
| 11 | // :1:1: note: struct declared here | |
| 13 | 12 | // :1:11: error: use of undeclared identifier 'bogus' |
| 14 | 13 | // :2:11: error: use of undeclared identifier 'bogus' |
test/cases/compile_errors/decl_shadows_local.zig+3-2| ... | ... | @@ -2,6 +2,7 @@ fn foo(a: usize) void { |
| 2 | 2 | struct { |
| 3 | 3 | const a = 1; |
| 4 | 4 | }; |
| 5 | _ = a; | |
| 5 | 6 | } |
| 6 | 7 | fn bar(a: usize) void { |
| 7 | 8 | struct { |
| ... | ... | @@ -18,5 +19,5 @@ fn bar(a: usize) void { |
| 18 | 19 | // |
| 19 | 20 | // :3:15: error: declaration 'a' shadows function parameter from outer scope |
| 20 | 21 | // :1:8: note: previous declaration here |
| 21 | // :9:19: error: declaration 'a' shadows function parameter from outer scope | |
| 22 | // :6:8: note: previous declaration here | |
| 22 | // :10:19: error: declaration 'a' shadows function parameter from outer scope | |
| 23 | // :7:8: note: previous declaration here |
test/cases/compile_errors/duplicate_enum_field.zig+2-2| ... | ... | @@ -12,6 +12,6 @@ export fn entry() void { |
| 12 | 12 | // backend=stage2 |
| 13 | 13 | // target=native |
| 14 | 14 | // |
| 15 | // :2:5: error: duplicate enum field name | |
| 16 | // :3:5: note: duplicate field here | |
| 15 | // :2:5: error: duplicate enum member name 'Bar' | |
| 16 | // :3:5: note: duplicate name here | |
| 17 | 17 | // :1:13: note: enum declared here |
test/cases/compile_errors/duplicate_struct_field.zig+5-5| ... | ... | @@ -24,10 +24,10 @@ export fn b() void { |
| 24 | 24 | // backend=stage2 |
| 25 | 25 | // target=native |
| 26 | 26 | // |
| 27 | // :2:5: error: duplicate struct field name | |
| 28 | // :3:5: note: duplicate field here | |
| 27 | // :2:5: error: duplicate struct member name 'Bar' | |
| 28 | // :3:5: note: duplicate name here | |
| 29 | 29 | // :1:13: note: struct declared here |
| 30 | // :7:5: error: duplicate struct field name | |
| 31 | // :9:5: note: duplicate field here | |
| 32 | // :10:5: note: duplicate field here | |
| 30 | // :7:5: error: duplicate struct member name 'a' | |
| 31 | // :9:5: note: duplicate name here | |
| 32 | // :10:5: note: duplicate name here | |
| 33 | 33 | // :6:11: note: struct declared here |
test/cases/compile_errors/duplicate_union_field.zig+2-4| ... | ... | @@ -8,9 +8,7 @@ export fn entry() void { |
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | // error |
| 11 | // backend=stage2 | |
| 12 | // target=native | |
| 13 | 11 | // |
| 14 | // :2:5: error: duplicate union field name | |
| 15 | // :3:5: note: duplicate field here | |
| 12 | // :2:5: error: duplicate union member name 'Bar' | |
| 13 | // :3:5: note: duplicate name here | |
| 16 | 14 | // :1:13: note: union declared here |
test/cases/compile_errors/error_in_struct_initializer_doesnt_crash_the_compiler.zig+2-4| ... | ... | @@ -8,9 +8,7 @@ pub export fn entry() void { |
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | // error |
| 11 | // backend=stage2 | |
| 12 | // target=native | |
| 13 | 11 | // |
| 14 | // :3:9: error: duplicate struct field name | |
| 15 | // :4:9: note: duplicate field here | |
| 12 | // :3:9: error: duplicate struct member name 'e' | |
| 13 | // :4:9: note: duplicate name here | |
| 16 | 14 | // :2:22: note: struct declared here |
test/cases/compile_errors/field_decl_name_conflict.zig created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | foo: u32, | |
| 2 | bar: u32, | |
| 3 | qux: u32, | |
| 4 | ||
| 5 | const foo = 123; | |
| 6 | ||
| 7 | var bar: u8 = undefined; | |
| 8 | fn bar() void {} | |
| 9 | ||
| 10 | // error | |
| 11 | // | |
| 12 | // :1:1: error: duplicate struct member name 'foo' | |
| 13 | // :5:7: note: duplicate name here | |
| 14 | // :1:1: note: struct declared here | |
| 15 | // :2:1: error: duplicate struct member name 'bar' | |
| 16 | // :7:5: note: duplicate name here | |
| 17 | // :8:4: note: duplicate name here | |
| 18 | // :1:1: note: struct declared here |
test/cases/compile_errors/invalid_duplicate_test_decl_name.zig+3-2| ... | ... | @@ -6,5 +6,6 @@ test "thingy" {} |
| 6 | 6 | // target=native |
| 7 | 7 | // is_test=true |
| 8 | 8 | // |
| 9 | // :2:1: error: duplicate test name 'thingy' | |
| 10 | // :1:1: note: other test here | |
| 9 | // :1:6: error: duplicate test name 'thingy' | |
| 10 | // :2:6: note: duplicate test here | |
| 11 | // :1:1: note: struct declared here |
test/cases/compile_errors/invalid_store_to_comptime_field.zig+4-4| ... | ... | @@ -25,21 +25,21 @@ pub export fn entry3() void { |
| 25 | 25 | const U = struct { |
| 26 | 26 | comptime foo: u32 = 1, |
| 27 | 27 | bar: u32, |
| 28 | fn foo(x: @This()) void { | |
| 28 | fn qux(x: @This()) void { | |
| 29 | 29 | _ = x; |
| 30 | 30 | } |
| 31 | 31 | }; |
| 32 | _ = U.foo(U{ .foo = 2, .bar = 2 }); | |
| 32 | _ = U.qux(U{ .foo = 2, .bar = 2 }); | |
| 33 | 33 | } |
| 34 | 34 | pub export fn entry4() void { |
| 35 | 35 | const U = struct { |
| 36 | 36 | comptime foo: u32 = 1, |
| 37 | 37 | bar: u32, |
| 38 | fn foo(x: @This()) void { | |
| 38 | fn qux(x: @This()) void { | |
| 39 | 39 | _ = x; |
| 40 | 40 | } |
| 41 | 41 | }; |
| 42 | _ = U.foo(.{ .foo = 2, .bar = 2 }); | |
| 42 | _ = U.qux(.{ .foo = 2, .bar = 2 }); | |
| 43 | 43 | } |
| 44 | 44 | pub export fn entry5() void { |
| 45 | 45 | comptime var y = .{ 1, 2 }; |
test/cases/compile_errors/multiple_function_definitions.zig+3-4| ... | ... | @@ -5,8 +5,7 @@ export fn entry() void { |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | // error |
| 8 | // backend=stage2 | |
| 9 | // target=native | |
| 10 | 8 | // |
| 11 | // :2:1: error: redeclaration of 'a' | |
| 12 | // :1:1: note: other declaration here | |
| 9 | // :1:4: error: duplicate struct member name 'a' | |
| 10 | // :2:4: note: duplicate name here | |
| 11 | // :1:1: note: struct declared here |
test/cases/compile_errors/redefinition_of_enums.zig+3-2| ... | ... | @@ -5,5 +5,6 @@ const A = enum { x }; |
| 5 | 5 | // backend=stage2 |
| 6 | 6 | // target=native |
| 7 | 7 | // |
| 8 | // :2:1: error: redeclaration of 'A' | |
| 9 | // :1:1: note: other declaration here | |
| 8 | // :1:7: error: duplicate struct member name 'A' | |
| 9 | // :2:7: note: duplicate name here | |
| 10 | // :1:1: note: struct declared here |
test/cases/compile_errors/redefinition_of_global_variables.zig+3-2| ... | ... | @@ -5,5 +5,6 @@ var a: i32 = 2; |
| 5 | 5 | // backend=stage2 |
| 6 | 6 | // target=native |
| 7 | 7 | // |
| 8 | // :2:1: error: redeclaration of 'a' | |
| 9 | // :1:1: note: other declaration here | |
| 8 | // :1:5: error: duplicate struct member name 'a' | |
| 9 | // :2:5: note: duplicate name here | |
| 10 | // :1:1: note: struct declared here |
test/cases/compile_errors/redefinition_of_struct.zig+3-2| ... | ... | @@ -5,5 +5,6 @@ const A = struct { y: i32 }; |
| 5 | 5 | // backend=stage2 |
| 6 | 6 | // target=native |
| 7 | 7 | // |
| 8 | // :2:1: error: redeclaration of 'A' | |
| 9 | // :1:1: note: other declaration here | |
| 8 | // :1:7: error: duplicate struct member name 'A' | |
| 9 | // :2:7: note: duplicate name here | |
| 10 | // :1:1: note: struct declared here |
test/cases/compile_errors/struct_duplicate_field_name.zig+2-2| ... | ... | @@ -11,6 +11,6 @@ export fn entry() void { |
| 11 | 11 | // error |
| 12 | 12 | // target=native |
| 13 | 13 | // |
| 14 | // :2:5: error: duplicate struct field name | |
| 15 | // :3:5: note: duplicate field here | |
| 14 | // :2:5: error: duplicate struct member name 'foo' | |
| 15 | // :3:5: note: duplicate name here | |
| 16 | 16 | // :1:11: note: struct declared here |
test/cases/compile_errors/union_duplicate_enum_field.zig+2-2| ... | ... | @@ -12,6 +12,6 @@ export fn foo() void { |
| 12 | 12 | // error |
| 13 | 13 | // target=native |
| 14 | 14 | // |
| 15 | // :3:5: error: duplicate union field name | |
| 16 | // :4:5: note: duplicate field here | |
| 15 | // :3:5: error: duplicate union member name 'a' | |
| 16 | // :4:5: note: duplicate name here | |
| 17 | 17 | // :2:11: note: union declared here |
test/cases/compile_errors/union_duplicate_field_definition.zig+2-2| ... | ... | @@ -11,6 +11,6 @@ export fn entry() void { |
| 11 | 11 | // error |
| 12 | 12 | // target=native |
| 13 | 13 | // |
| 14 | // :2:5: error: duplicate union field name | |
| 15 | // :3:5: note: duplicate field here | |
| 14 | // :2:5: error: duplicate union member name 'foo' | |
| 15 | // :3:5: note: duplicate name here | |
| 16 | 16 | // :1:11: note: union declared here |
test/cases/function_redeclaration.zig+3-2| ... | ... | @@ -8,7 +8,8 @@ fn foo() void { |
| 8 | 8 | |
| 9 | 9 | // error |
| 10 | 10 | // |
| 11 | // :3:1: error: redeclaration of 'entry' | |
| 12 | // :2:1: note: other declaration here | |
| 11 | // :2:4: error: duplicate struct member name 'entry' | |
| 12 | // :3:4: note: duplicate name here | |
| 13 | // :2:1: note: struct declared here | |
| 13 | 14 | // :6:9: error: local variable shadows declaration of 'foo' |
| 14 | 15 | // :5:1: note: declared here |
test/cases/global_variable_redeclaration.zig+3-2| ... | ... | @@ -4,5 +4,6 @@ var foo = true; |
| 4 | 4 | |
| 5 | 5 | // error |
| 6 | 6 | // |
| 7 | // :3:1: error: redeclaration of 'foo' | |
| 8 | // :2:1: note: other declaration here | |
| 7 | // :2:5: error: duplicate struct member name 'foo' | |
| 8 | // :3:5: note: duplicate name here | |
| 9 | // :2:1: note: struct declared here |
test/compile_errors.zig+2-2| ... | ... | @@ -92,7 +92,7 @@ pub fn addCases(ctx: *Cases, b: *std.Build) !void { |
| 92 | 92 | \\const a = @import("a.zig"); |
| 93 | 93 | \\ |
| 94 | 94 | \\export fn entry() void { |
| 95 | \\ _ = a.S.foo(a.S{ .foo = 2, .bar = 2 }); | |
| 95 | \\ _ = a.S.qux(a.S{ .foo = 2, .bar = 2 }); | |
| 96 | 96 | \\} |
| 97 | 97 | , &[_][]const u8{ |
| 98 | 98 | ":4:23: error: value stored in comptime field does not match the default value of the field", |
| ... | ... | @@ -102,7 +102,7 @@ pub fn addCases(ctx: *Cases, b: *std.Build) !void { |
| 102 | 102 | \\pub const S = struct { |
| 103 | 103 | \\ comptime foo: u32 = 1, |
| 104 | 104 | \\ bar: u32, |
| 105 | \\ pub fn foo(x: @This()) void { | |
| 105 | \\ pub fn qux(x: @This()) void { | |
| 106 | 106 | \\ _ = x; |
| 107 | 107 | \\ } |
| 108 | 108 | \\}; |