| // PR c++/91889 - follow-up fix for DR 2352. | |
| // { dg-do compile { target c++11 } } | |
| template <typename U> struct A { typedef U *type; }; | |
| struct B { | |
| typedef A<B>::type node_ptr; | |
| }; | |
| struct C { | |
| typedef B::node_ptr node_ptr; | |
| typedef A<const B>::type const_node_ptr; | |
| }; | |
| struct { | |
| void to_value_ptr(C::node_ptr) {}; | |
| void to_value_ptr(const C::const_node_ptr &); | |
| } b; | |
| C::node_ptr a; | |
| void fn1() { b.to_value_ptr(a); } |