aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-06-25 00:40:03 -0400
committerAndrew Kelley <andrew@ziglang.org>2023-06-25 12:00:48 -0700
commitb9c4857ed64fb18fa8cbc69112fd4fb4f8a5ac68 (patch)
tree48f6dde6a95bf44cadca07492f92fad5aca2ec85 /test
parent17e12960b5c12dd1dfb68940e70e9541dda856a2 (diff)
downloadzig-b9c4857ed64fb18fa8cbc69112fd4fb4f8a5ac68.tar.gz
zig-b9c4857ed64fb18fa8cbc69112fd4fb4f8a5ac68.zip
AstGen: add source location to certain const initializers
Before: assign_local_bad_coercion.zig:5:1: error: expected type 'u32', found 'u64' export fn constEntry() u32 { ^~~~~~ assign_local_bad_coercion.zig:11:19: error: expected type 'u32', found 'u64' var x: u32 = g(); ~^~ After: assign_local_bad_coercion.zig:6:21: error: expected type 'u32', found 'u64' const x: u32 = g(); ~^~ assign_local_bad_coercion.zig:11:19: error: expected type 'u32', found 'u64' var x: u32 = g(); ~^~
Diffstat (limited to 'test')
-rw-r--r--test/cases/compile_errors/assign_local_bad_coercion.zig22
-rw-r--r--test/cases/compile_errors/break_void_result_location.zig2
-rw-r--r--test/cases/compile_errors/nested_error_set_mismatch.zig6
-rw-r--r--test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig2
4 files changed, 27 insertions, 5 deletions
diff --git a/test/cases/compile_errors/assign_local_bad_coercion.zig b/test/cases/compile_errors/assign_local_bad_coercion.zig
new file mode 100644
index 0000000000..0aa93f48bd
--- /dev/null
+++ b/test/cases/compile_errors/assign_local_bad_coercion.zig
@@ -0,0 +1,22 @@
+fn g() u64 {
+ return 0;
+}
+
+export fn constEntry() u32 {
+ const x: u32 = g();
+ return x;
+}
+
+export fn varEntry() u32 {
+ var x: u32 = g();
+ return x;
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :6:21: error: expected type 'u32', found 'u64'
+// :6:21: note: unsigned 32-bit int cannot represent all possible unsigned 64-bit values
+// :11:19: error: expected type 'u32', found 'u64'
+// :11:19: note: unsigned 32-bit int cannot represent all possible unsigned 64-bit values
diff --git a/test/cases/compile_errors/break_void_result_location.zig b/test/cases/compile_errors/break_void_result_location.zig
index 696ea39667..bd15aa6a77 100644
--- a/test/cases/compile_errors/break_void_result_location.zig
+++ b/test/cases/compile_errors/break_void_result_location.zig
@@ -29,4 +29,4 @@ export fn f4() void {
// :2:22: error: expected type 'usize', found 'void'
// :7:9: error: expected type 'usize', found 'void'
// :14:9: error: expected type 'usize', found 'void'
-// :18:1: error: expected type 'usize', found 'void'
+// :19:27: error: expected type 'usize', found 'void'
diff --git a/test/cases/compile_errors/nested_error_set_mismatch.zig b/test/cases/compile_errors/nested_error_set_mismatch.zig
index c0d68a5e53..3addd5ee43 100644
--- a/test/cases/compile_errors/nested_error_set_mismatch.zig
+++ b/test/cases/compile_errors/nested_error_set_mismatch.zig
@@ -14,6 +14,6 @@ fn foo() ?OtherError!i32 {
// backend=llvm
// target=native
//
-// :4:1: error: expected type '?error{NextError}!i32', found '?error{OutOfMemory}!i32'
-// :4:1: note: optional type child 'error{OutOfMemory}!i32' cannot cast into optional type child 'error{NextError}!i32'
-// :4:1: note: 'error.OutOfMemory' not a member of destination error set
+// :5:34: error: expected type '?error{NextError}!i32', found '?error{OutOfMemory}!i32'
+// :5:34: note: optional type child 'error{OutOfMemory}!i32' cannot cast into optional type child 'error{NextError}!i32'
+// :5:34: note: 'error.OutOfMemory' not a member of destination error set
diff --git a/test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig b/test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig
index f808ec8227..be99c394d3 100644
--- a/test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig
+++ b/test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig
@@ -27,7 +27,7 @@ export fn u2m() void {
// backend=stage2
// target=native
//
-// :9:1: error: union initializer must initialize one field
+// :10:20: error: union initializer must initialize one field
// :1:12: note: union declared here
// :14:20: error: cannot initialize multiple union fields at once; unions can only have one active field
// :14:31: note: additional initializer here