aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/struct.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/behavior/struct.zig')
-rw-r--r--test/behavior/struct.zig23
1 files changed, 23 insertions, 0 deletions
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);
+}