https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88165
--- Comment #7 from Fedor Chelnokov <fchelnokov at gmail dot com> --- This struct definition: ``` struct A { struct B { int i = 0; B() {} }; A(B = {}); }; ``` is accepted by GCC, but another one ({} replaced with = default) is not: ``` struct C { struct D { int i = 0; D() = default; }; C(D = {}); }; ``` Demo: https://gcc.godbolt.org/z/WTPdTn1Yf Could you please explain why? I though that both must be same accepted or same rejected.