1 // { dg-options -std=c++17 } 2 3 template <class T> 4 struct A 5 { 6 template<class U, template<U u> class P> 7 A(T,U,P<42>); 8 }; 9 10 template <int I> struct B { }; 11 12 int i; 13 A a(&i,2,B<42>()); 14 15 template <class,class> class same; 16 template <class T> class same<T,T> {}; 17 same<decltype(a), A<int*>> s; 18