aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/cases/compile_errors/union_fields_are_resolved_before_tag_type_is_needed.zig16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/cases/compile_errors/union_fields_are_resolved_before_tag_type_is_needed.zig b/test/cases/compile_errors/union_fields_are_resolved_before_tag_type_is_needed.zig
new file mode 100644
index 0000000000..7ef4c80d5a
--- /dev/null
+++ b/test/cases/compile_errors/union_fields_are_resolved_before_tag_type_is_needed.zig
@@ -0,0 +1,16 @@
+const T = union(enum) {
+ a,
+ pub fn f(self: T) void {
+ _ = self;
+ }
+};
+pub export fn entry() void {
+ T.a.f();
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :8:8: error: no field or member function named 'f' in '@typeInfo(tmp.T).Union.tag_type.?'
+// :1:11: note: enum declared here