diff --git a/test/objects/exception.hpp b/test/objects/exception.hpp index 68595eab..ff753763 100644 --- a/test/objects/exception.hpp +++ b/test/objects/exception.hpp @@ -259,13 +259,11 @@ namespace test { bool operator()(std::pair const& x1, std::pair const& x2) const { - if (less_impl(x1.first, x2.first)) { - return true; - } - if (!less_impl(x1.first, x2.first)) { - return false; - } - return less_impl(x1.second, x2.second); + bool const first_is_eq = + !less_impl(x1.first, x2.first) && !less_impl(x2.first, x1.first); + + return less_impl(x1.first, x2.first) || + (first_is_eq && less_impl(x1.second, x2.second)); } bool less_impl(object const& x1, object const& x2) const