summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/access5.C
blob: b2da190ff4eb5feb295ce945886abeed31d5be72 (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: Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>

// PR c++/7348
// Access control for typename in function return type

class Outer {
    template <int dim> struct Inner {
        typedef int T;
        T foo ();
    };
  public:
    Outer();
};

template <int dim>
typename Outer::Inner<dim>::T  Outer::Inner<dim>::foo () {
  return 1;
}

template struct Outer::Inner<2>;