summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/template-id-1.C
blob: 60ce4e7ffb22e4e8704d70c9cfcd9c10668bd6d4 (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
29
30
31
32
33
// Copyright (C) 2002 Free Software Foundation
// Origin: C++/1058
// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
// { dg-do compile }

struct A {
   typedef int Y;
   typedef double Z;
};

struct B {
   template<typename T>
   void func(typename T::Y, typename T::Z) { }
};

template<typename T>
struct X {
   void gunc();
};

template<typename T>
void X<T>::gunc()
{
   B b;
   b.func<A>(0, 3.);
}

int main()
{
   X<int> x;
   x.gunc();
   return 0;
}