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