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); }