https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113159
--- Comment #15 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
(In reply to Yury Gribov from comment #14)
> (In reply to Xi Ruoyao from comment #12)
> > Also note even
> >
> > bool cmp(Element a, Element b) { return false; }
> >
> > is a *valid* comparator, per the standard.
>
> Hm, doesn't it violate the asymmetry axiom (cmp(x, y) => !cmp(y, x)) ?
No there's no such axiom. cmp(x, y) && !cmp(y, x) just means x and y will be
treat as equal elements.