Skip to content

Commit c4f54d7

Browse files
committed
cases: update for new error wording, add coverage for field/decl name conflict
1 parent 7af503a commit c4f54d7

8 files changed

+39
-18
lines changed

test/cases/compile_errors/colliding_invalid_top_level_functions.zig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ export fn entry() usize {
55
}
66

77
// error
8-
// backend=stage2
9-
// target=native
108
//
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
1312
// :1:11: error: use of undeclared identifier 'bogus'
1413
// :2:11: error: use of undeclared identifier 'bogus'
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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/multiple_function_definitions.zig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ export fn entry() void {
55
}
66

77
// error
8-
// backend=stage2
9-
// target=native
108
//
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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ const A = enum { x };
55
// backend=stage2
66
// target=native
77
//
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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ var a: i32 = 2;
55
// backend=stage2
66
// target=native
77
//
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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ const A = struct { y: i32 };
55
// backend=stage2
66
// target=native
77
//
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/function_redeclaration.zig

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ fn foo() void {
88

99
// error
1010
//
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
1314
// :6:9: error: local variable shadows declaration of 'foo'
1415
// :5:1: note: declared here

test/cases/global_variable_redeclaration.zig

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ var foo = true;
44

55
// error
66
//
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

0 commit comments

Comments
 (0)