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