https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113159
--- Comment #12 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- Also note even bool cmp(Element a, Element b) { return false; } is a *valid* comparator, per the standard. Though it'll likely produce completely meaningless result, it's just your own logical error as it violates nothing in the standard.