1 // PR c++/17410 2 3 template <class> 4 struct Outer { 5 template <class> struct Inner {}; 6 }; 7 8 template <class T> 9 struct A; 10 11 template <template <class> class Q, class P> 12 struct A <Q<P> > {}; 13 14 template <class T> struct UNRELATED; 15 template <class T> struct UNRELATED<Outer<void>::Inner<T*> >; 16 17 template struct A<Outer<void>::Inner<int*> >; 18