commit 1c9ac9dbb71b778ea99f1c15ad2b02e7f5d2e8fc (tree) parent 500afbf0760d5de7598a4988d1a4b08c21b2dc29 Author: Andrew Kelley <andrew@ziglang.org> Date: Sat, 20 Sep 2025 18:51:08 -0700 add behavior test: avoid unused field function body compile error Diffstat:
| M | test/behavior/struct.zig | | | 23 | +++++++++++++++++++++++ |
1 file changed, 23 insertions(+), 0 deletions(-)
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig @@ -2153,3 +2153,26 @@ test "align 1 struct parameter dereferenced and returned" { .little => try expect(s.a == 0x05040302), } } + +test "avoid unused field function body compile error" { + const Case = struct { + const This = @This(); + + const S = struct { + a: usize = 1, + b: fn () void = This.functionThatDoesNotCompile, + }; + + const s: S = .{}; + + fn entry() usize { + return s.a; + } + + pub fn functionThatDoesNotCompile() void { + @compileError("told you so"); + } + }; + + try expect(Case.entry() == 1); +}