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()21 main() {
22   using ArrayVector = std::C;
23   auto b = ArrayVector();
24   b.insert(a, {{2}});
25   return 0;
26 }
27