id summary reporter owner description type status milestone component version severity resolution keywords cc 3117 BOOST_CHECK requires !!x, fails if x is convertible to bool and disables operator! Daniel Frey Gennadiy Rozental "BOOST_CHECK( x ) requires !!x to be convertible to bool, although it should only require x to be convertible to bool. The problem can be seen in libs/utility/operators_test.cpp:661, where I had to convert the result of the comparison explicitly (as well as in many other places in this file). The offending code is found in boost/test/predicate_result.hpp:53, and I don't actually see why this constructor is needed at all. It actually only makes sense for types which are ''not'' convertible to bool directly, but only through double negation. I suggest to remove the constructor at line 53/54. If it breaks something, it means that this something is not convertible to bool and it should be fixed, instead of relying on BOOST_TEST to apply double negation. " Bugs closed Boost 1.40.0 test Boost 1.38.0 Problem wontfix