id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9390,Incomplete BOOST_TEST_DONT_PRINT_LOG_VALUE,Marek Kurdej ,Raffi Enficiaud,"When we use a user-defined error without overloaded ```operator<<(std::ostream&, T const&)```, we have to use BOOST_TEST_DONT_PRINT_LOG_VALUE in order to prevent UTF to print output to log. BOOST_TEST_DONT_PRINT_LOG_VALUE works correctly only if you use macros like BOOST_CHECK_EQUAL. However, BOOST_CHECK_EQUAL_COLLECTIONS provokes compile-time error. For instance, on MSVC2010 (Windows x64), the error message is: {{{ compile-time error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'const MyClass' (or there is no acceptable conversion) c:\lib\Boost\include\boost-1_54\boost\test\utils\wrap_stringstream.hpp 66 }}}. The problem is that ```BOOST_CHECK_EQUAL_COLLECTIONS`` uses ```operator<<( basic_wrap_stringstream& targ, T const& t )``` from wrap_stringstream.hpp, whereas BOOST_CHECK_EQUAL uses ```print_log_value::operator()( std::ostream& ostr, T const& t )``` from test_tools.hpp. BOOST_TEST_DONT_PRINT_LOG_VALUE only specializes the latter. The solution is to partially specialize the former template as well.",Bugs,closed,Boost 1.59.0,test,Boost 1.55.0,Problem,fixed,,curdeius@…