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

Reply via email to