1// Origin: PR c++/42820 2// { dg-do compile } 3 4template <class T> struct vector{}; 5template<class T>struct Traits{struct Primitive{struct Id{};};}; 6 7template <template<class T> class Tree, class Polyhedron> struct Tree_vs_naive 8{ 9 typedef typename Tree<int>::Primitive Primitive; 10 11 void f() const 12 { 13 typedef vector<typename Primitive::Id> Id_vector; 14 } 15}; 16 17template <template<class T> class Tree> void test_hint_strategies() 18{ 19 vector<typename Tree<int>::Primitive::Id> v; 20} 21 22int main(void) 23{ 24 test_hint_strategies<Traits>(); 25} 26