@Override on a record component compiles but does not work

Remi Forax forax at univ-mlv.fr
Mon Jul 19 16:49:14 UTC 2021


It does not seems that @Override correctly compiles on a record but the "override" check is not done.

By example,
  interface Named {
    String name();
  }
  record Foo(@Override String name) implements Named { }

actually compiles but
  record Foo(String name, @Override String bar) implements Named { }

also compiles ??

It seems that the logic that checks if a method "overrides" another (in the general sense i.e replace another method) is not implemented if @Override is declared on a record component.

regards,
Rémi


More information about the compiler-dev mailing list