https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78420

--- Comment #7 from Tomasz KamiƄski <tomaszkam at gmail dot com> ---
> No, it's very much allowed to do that.  But I'm skeptical that it's allowed 
> to turn !(a<b)&&!(b<a) into false when a<b and b<a are both false.

Notice that I am concerned about !std::less<T*>{}(a,b) && !std::less<T*>(b,a)
being false, when std::less<T*>{}(a,b) and std::less<T*>{}(b,a) are both false,
and in contrast to raw operator<, std::less is required to provide total order,
which is no longer the case.

And my complain, is about behavior of std::less<T*>, that is not standard
compliant. If it can be changed without changing <, I am fine with it.

Reply via email to