// { 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>; |