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@…