commit aacff8c80091c0187057e65d96108f46962f98a3 (tree)
parent 7b8a7989ef54b7ac859035cbc603b8012f8f4102
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sat, 6 Sep 2025 11:42:57 -0700
add compile error coverage for dependency loop
Diffstat:
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/test/cases/compile_errors/enum_field_value_references_enum.zig b/test/cases/compile_errors/enum_field_value_references_enum.zig
@@ -1,6 +1,8 @@
pub const Foo = enum(c_int) {
A = Foo.B,
C = D,
+
+ pub const B = 0;
};
export fn entry() void {
const s: Foo = Foo.E;
@@ -10,5 +12,4 @@ const D = 1;
// error
//
-// :2:13: error: enum 'tmp.Foo' has no member named 'B'
-// :1:17: note: enum declared here
+// :1:5: error: dependency loop detected
diff --git a/test/cases/compile_errors/enum_field_value_references_nonexistent_circular.zig b/test/cases/compile_errors/enum_field_value_references_nonexistent_circular.zig
@@ -0,0 +1,16 @@
+pub const Foo = enum(c_int) {
+ A = Foo.B,
+ C = D,
+};
+export fn entry() void {
+ const s: Foo = Foo.E;
+ _ = s;
+}
+const D = 1;
+
+// error
+// backend=stage2
+// target=native
+//
+// :2:13: error: enum 'tmp.Foo' has no member named 'B'
+// :1:17: note: enum declared here