https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92524
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- struct A; template <long _Nm> struct B { typedef A _Type[_Nm]; }; template <long _Nm> struct array { typename B<_Nm>::_Type _M_elems; }; constexpr char wildcard = '*'; struct A { char ch_ = wildcard; }; void fn1() { A value; array<3>{value}; }