Non-transitive comparison breaks glibc qsort
I ran into this problem in real-world code many, many years ago and have the traumatic flashback to this day every time I use custom comparison. It's not all that difficult to mess up a complicated implementation with multiple branching conditionals, and you're one of the lucky ones if the sort crashes (or hits a bounds check now). At the time I figured 'of course this mysterious segfault that took hours to diagnose is all my fault' but now, in 2024, I think both glibc and any to-be-discovered broken callers should have a CVE.
My 2 cents anyway. Good that it's fixed.