// RUN: %clang_cc1 -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(); | |
} |