1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// RUN: clang-cc -fsyntax-only -verify %s template<typename T> struct A { }; template<typename T, typename U = A<T*> > struct B : U { }; template<> struct A<int*> { void foo(); }; template<> struct A<float*> { void bar(); }; void test(B<int> *b1, B<float> *b2) { b1->foo(); b2->bar(); }