summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/typedef28.C
blob: a0bad1bb9396381d03e415a5eff315a890ac100e (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
27
28
// Origin: PR c++/42820
// { dg-do compile }


template <class T> struct vector{};
struct Traits{struct Primitive{struct Id{};};};

template <class Tree, class Polyhedron> struct Tree_vs_naive
{
  typedef typename Tree::Primitive Primitive;

  void f() const
  {
	  typedef vector<typename Primitive::Id> Id_vector;
  }
};

template <class Tree> void test_hint_strategies()
{
  vector<typename Tree::Primitive::Id> v;
}

int main(void)
{
  test_hint_strategies<Traits>();
}