id summary reporter owner description type status milestone component version severity resolution keywords cc 11941 Use of overloaded operator== in BOOST_TEST() is ambiguous kamo.tanabota@… Gennadiy Rozental "I'm unable to compile the following code due to ambiguity of opertor== overloads. {{{ #define BOOST_TEST_MODULE mytest #include struct S { template S(T&&) {} }; bool operator==(S const&, S const&) { return true; } template bool operator==(T const&, S const&) { return true; } BOOST_AUTO_TEST_CASE(test1) { auto const s = S{""hoge""}; BOOST_TEST(s == 4); } }}} This seems to happen if there is an overload taking a template parameter for the left operand. Using boost::iterator_range, instead of the class S, results in same issue. " Bugs closed To Be Determined test Boost 1.59.0 Problem wontfix