zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Mtest/cases/compile_errors/enum_field_value_references_enum.zig | 5+++--
Atest/cases/compile_errors/enum_field_value_references_nonexistent_circular.zig | 16++++++++++++++++
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