aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/template/canon-type-7.C
blob: 51c15342c6b9188d43d8a456d9eae87659804a15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR c++/39754
// { dg-do compile }

struct Foo {};
template<typename> struct A ;
template<typename T ,typename = A<T> > struct B { } ;

template<class W, class>
struct D
{
  typedef W X;
  A<X (Foo::*) (X)> a ;
};

template<class Y>
struct E
{
  B<Y (Foo::*) (Y)> b ;
};
E<int> e ;