const assert = @import("std").debug.assert; const A = struct { b: B, }; const B = struct { c: C, }; const C = struct { x: i32, fn d(c: *const C) i32 { return c.x; } }; fn foo(a: *const A) i32 { return a.b.c.d(); } test "incomplete struct param top level declaration" { const a = A{ .b = B{ .c = C{ .x = 13 }, }, }; assert(foo(a) == 13); }