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