In file included from /usr/local/include/gecode/minimodel.hh:51:
In file included from /usr/local/include/gecode/float.hh:833:
/usr/local/include/gecode/float/val.hpp:296:18: warning: ISO C++20 considers use of overloaded operator '==' (with operand types 'const Gecode::FloatVal::FloatValImpType' (aka 'const interval<double, policies<save_state<Float::Rounding>, checking_strict<double>>>') and 'const Gecode::FloatVal::FloatValImpType') to be ambiguous despite there being a unique best viable function [-Wambiguous-reversed-operator]
return x.x == y.x;
~~~ ^ ~~~
/usr/local/include/gecode/third-party/boost/numeric/interval/interval.hpp:84:8: note: ambiguity is between a regular call to this operator and a call with the argument order reversed
bool operator== (const interval_holder& r) const;
^
In file included from /usr/local/include/gecode/driver.hh:37:
In file included from /usr/local/include/gecode/minimodel.hh:51:
In file included from /usr/local/include/gecode/float.hh:833:
/usr/local/include/gecode/float/val.hpp:319:18: warning: ISO C++20 considers use of overloaded operator '!=' (with operand types 'const Gecode::FloatVal::FloatValImpType' (aka 'const interval<double, policies<save_state<Float::Rounding>, checking_strict<double>>>') and 'const Gecode::FloatVal::FloatValImpType') to be ambiguous despite there being a unique best viable function with non-reversed arguments [-Wambiguous-reversed-operator]
return x.x != y.x;
~~~ ^ ~~~
/usr/local/include/gecode/third-party/boost/numeric/interval/interval.hpp:85:8: note: candidate function with non-reversed arguments
bool operator!= (const interval_holder& r) const;
^
/usr/local/include/gecode/third-party/boost/numeric/interval/interval.hpp:84:8: note: ambiguous candidate function with reversed arguments
bool operator== (const interval_holder& r) const;
^
clang-11 on FreeBSD 13 prints these warnings: