1 // PR c++/95319 2 // { dg-do compile { target c++11 } } 3 4 typedef decltype(sizeof(char)) size_t; 5 6 namespace std { 7 template <class> class initializer_list { 8 int *_M_array; 9 size_t _M_len; 10 }; 11 template <int _Nm> struct A { typedef int _Type[_Nm]; }; 12 template <int _Nm> struct B { typename A<_Nm>::_Type _M_elems; }; 13 class C { 14 public: 15 void insert(int, B<3>); 16 void insert(int, initializer_list<B<3>>); 17 }; 18 } // namespace std 19 int a; 20 int main()21main() { 22 using ArrayVector = std::C; 23 auto b = ArrayVector(); 24 b.insert(a, {{2}}); 25 return 0; 26 } 27