aboutsummaryrefslogtreecommitdiff
path: root/test/cases
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2023-03-21 00:09:00 +0200
committerVeikka Tuominen <git@vexu.eu>2023-03-21 00:34:12 +0200
commit82133cd992575ab567091eaf2f12fbe5e326b5df (patch)
tree652d8e694c8a1a9ca72006a42b03908672aa90e0 /test/cases
parent9d9815fb9c21c91df41422ff582402fb56029328 (diff)
downloadzig-82133cd992575ab567091eaf2f12fbe5e326b5df.tar.gz
zig-82133cd992575ab567091eaf2f12fbe5e326b5df.zip
Sema: improve error message of field access of wrapped type
Closes #15027
Diffstat (limited to 'test/cases')
-rw-r--r--test/cases/compile_errors/field_access_of_wrapped_type.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/cases/compile_errors/field_access_of_wrapped_type.zig b/test/cases/compile_errors/field_access_of_wrapped_type.zig
new file mode 100644
index 0000000000..9d8a7ef17c
--- /dev/null
+++ b/test/cases/compile_errors/field_access_of_wrapped_type.zig
@@ -0,0 +1,20 @@
+const Foo = struct {
+ a: i32,
+};
+export fn f1() void {
+ var foo: ?Foo = undefined;
+ foo.a += 1;
+}
+export fn f2() void {
+ var foo: anyerror!Foo = undefined;
+ foo.a += 1;
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :6:8: error: optional type '?tmp.Foo' does not support field access
+// :6:8: note: consider using '.?', 'orelse', or 'if'
+// :10:8: error: error union type 'anyerror!tmp.Foo' does not support field access
+// :10:8: note: consider using 'try', 'catch', or 'if'