PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / array26.C
blob6692071694db628a80e39c4be555c35c1939f07f
1 // PR c++/57325
3 class valarray { int _M_data; };
4 template < typename > struct SimpleJet { valarray partials; };
6 template < class C > struct scoped_ptr_impl
8     scoped_ptr_impl (C *):data_ () { }
9     struct Data
10     {
11         C ptr;
12     };
13     Data data_;
16 template < class, class = int >struct scoped_ptr;
17 template < class C, class D > struct scoped_ptr <C[], D >
19     scoped_ptr ():impl_ (0) { }
20     scoped_ptr_impl < C > impl_;
23 template < typename JetsT > void
24 TestJets (JetsT *)
26     typedef typename JetsT::JetType JetT;
27     scoped_ptr < JetT[] > a;
30 template < typename T > struct SimpleJets
32     typedef SimpleJet < T > JetType;
33     scoped_ptr < SimpleJet < T >[] > vars_;
36 void fn ()
38     SimpleJets < double >b;
39     TestJets (&b);