https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95369
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This is not really about designated initializers; we wrongly reject this one too: struct S { unsigned a; unsigned b; }; template<S s> struct X { }; void f() { X<{ 1u, 2u }> x; }