// PR c++/101803 // { dg-do compile { target c++20 } } struct Inner { int i = 0; }; template struct Outer { Inner s{}; }; Outer o1{ .s = {} }; // works Outer o2{ .s = Inner{ .i = 1} }; // works Outer o3{ .s = { .i = 1} }; // does not Outer o4{ .s{} }; // works Outer o5{ .s{Inner{ .i = 1} } }; // works Outer o6{ .s{ .i = 1} }; // does not