view gcc/testsuite/g++.dg/template/init6.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/25836

template <class T>
class Iter {};

template <class T>
class SubIter : public Iter<T> {
  void insert(T);
};

class GraphBase {
public:
  class Node;
};

template<class T>
class Graph : public GraphBase {
  class Inner {
    Iter<typename Graph<T>::Node*> *get();
  };
};

template<class T>
Iter<typename Graph<T>::Node*> *Graph<T>::Inner::get() {
  SubIter<typename Graph<T>::Node*> *iter;
  iter->insert(0);
  return 0;
}

int main() {
  Iter<Graph<int>::Node*> *n2_iter = new SubIter<Graph<int>::Node*>();
  return 0;
}