// PR c++/101803
// { dg-do compile { target c++20 } }
struct Inner { int i = 0; };
template <typename T = void>
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