1 // PR c++/42329 2 3 template <typename T1, typename T2> 4 class B {}; 5 6 template <typename T> 7 class D : public B<T, T> {}; 8 9 template <template <typename, typename> class U, typename T1, typename T2> g(U<T1,T2> *)10void g(U<T1, T2>*) {} 11 main()12int main() 13 { 14 D<long> dl; 15 g(&dl); // error: no matching function for call to ‘g(D<long int>*)’ 16 } 17