1 // PR c++/91889 - follow-up fix for DR 2352. 2 // { dg-do compile { target c++11 } } 3 4 template <typename U> struct A { typedef U *type; }; 5 struct B { 6 typedef A<B>::type node_ptr; 7 }; 8 struct C { 9 typedef B::node_ptr node_ptr; 10 typedef A<const B>::type const_node_ptr; 11 }; 12 struct { to_value_ptr__anond6e13544010813 void to_value_ptr(C::node_ptr) {}; 14 void to_value_ptr(const C::const_node_ptr &); 15 } b; 16 C::node_ptr a; fn1()17void fn1() { b.to_value_ptr(a); } 18