// Origin: PR c++/42820 // { dg-do compile } template struct vector{}; templatestruct Traits{struct Primitive{struct Id{};};}; template class Tree, class Polyhedron> struct Tree_vs_naive { typedef typename Tree::Primitive Primitive; void f() const { typedef vector Id_vector; } }; template class Tree> void test_hint_strategies() { vector::Primitive::Id> v; } int main(void) { test_hint_strategies(); }