summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/variadic96.C
blob: d4709d074b67d23d0f7c7f96ce1507f27b46e1e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/41785
// { dg-options -std=c++0x }

struct a {};

template < typename T, typename ENCLOSING >
struct base;

template < typename... T >
struct derived
  : public base< T, derived< T... > >...
{};

template < typename... T>
struct base< a, derived< T... > >
{
  typedef derived< T... >
          Derived;
};

int main()
{
  derived< a > instance;
}