summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lookup/koenig12.C
blob: c1358993909fe55afe1572757bcf8c372f1f938f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// PR c++/41305
// We got into infinite recursion instantiating the B<U> series.

template <class T> struct A { };
template <class T, class U = A<T> > struct B;
template <class T> struct C { };

template <class T, class U> struct B: C<B<U> >
{
  friend void f(B) { }
};

B<int> b;

int main()
{
  f(b);
}