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,,