On Jun 3, 2021, at 12:46 PM, Remi Forax <fo...@univ-mlv.fr<mailto:fo...@univ-mlv.fr>> wrote:
I kind of regret that the compiler does not provide automatically an implementation of compareTo if the record implements Comparable. People sucks at writing compareTo and the resulting bugs are hard to find/reproduce. That’s a slippery slope. IIRC we consciously stopped before that step. That said, there are other ways to fix this. We should have utilities (maybe in the JDK but not the JLS) which build such methods and make it easy for users to grab onto them. Maybe something like this: interface ComparableRecord<T extends Record & ComparableRecord<T>> extends Comparable<T> { … } record Foo(int x, String y) implements ComparableRecord<Foo> { … } http://cr.openjdk.java.net/~jrose/draft/ComparableRecord.java — John