23 lines
333 B
C++
23 lines
333 B
C++
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
||
|
// expected-no-diagnostics
|
||
|
|
||
|
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();
|
||
|
}
|