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