summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/ttp6.C
blob: a4c6ab059b21a440d44c1e00e52d341ee4cd3b89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do compile }

// Origin: Eelis van der Weegen <gccbugs@contacts.eelis.net>

// PR c++/10552: Member class template as template template argument
// substitution issue.

template <template <typename> class A, typename>
struct B
{
  typedef typename A<int>::t t;
};

template <typename D>
struct E
{
  template <typename> struct F { typedef int t; };
  typedef typename B<F, D>::t t;
};

typedef E<int>::t t;