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