From 1c9ac9dbb71b778ea99f1c15ad2b02e7f5d2e8fc Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 20 Sep 2025 18:51:08 -0700 Subject: [PATCH] add behavior test: avoid unused field function body compile error --- test/behavior/struct.zig | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index 1f6d951f6d..03a49b70d1 100644 --- 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); +}