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