1// PR c++/25836 2 3template <class T> 4class Iter {}; 5 6template <class T> 7class SubIter : public Iter<T> { 8 void insert(T); 9}; 10 11class GraphBase { 12public: 13 class Node; 14}; 15 16template<class T> 17class Graph : public GraphBase { 18 class Inner { 19 Iter<typename Graph<T>::Node*> *get(); 20 }; 21}; 22 23template<class T> 24Iter<typename Graph<T>::Node*> *Graph<T>::Inner::get() { 25 SubIter<typename Graph<T>::Node*> *iter; 26 iter->insert(0); 27} 28 29int main() { 30 Iter<Graph<int>::Node*> *n2_iter = new SubIter<Graph<int>::Node*>(); 31} 32