id summary reporter owner description type status milestone component version severity resolution keywords cc 4910 ambiguity of operator<< in display_expr Maxim Yanchenko Eric Niebler "from here: http://cpp-next.com/archive/2010/09/expressive-c-playing-with-syntax/comment-page-1/#comment-1134 {{{#!c++ struct A {}; struct B:A {}; std::ostream& operator<<( std::ostream& out, const A& ) { return out << ""this is A!""; } }}} If you do {{{#!C++ proto::display_expr( map( A(), 1 ) ); }}} it works, but if you do {{{#!cpp proto::display_expr( map( B(), 1 ) ); }}} it doesn't compile due to ambiguity introduced by `hidden_detail_::operator<<` that does this nice typeid output. The patch for `boost/proto/debug.hpp` against 1.44.0 (works for me) and last revision 66440 (not tried to compile, just by analogy) is attached." Patches closed To Be Determined proto Boost Development Trunk Problem fixed