As I mentioned in the original email, some fixes didn’t make it through the JDK 14 process. So, on this particular issue, the compiler is correct, and the spec has a bug, which will be fixed in JDK 15. (I agree that it is a minor detail.)
Gavin > On 17 Jan 2020, at 11:22, Tagir Valeev <amae...@gmail.com> wrote: > > The spec from the previous e-mail [1] allows them, so either spec or > javac should be updated (or we can ignore it, as this is a minor > detail). > > With best regards, > Tagir Valeev. > > [1] > http://cr.openjdk.java.net/~gbierman/jep359/jep359-20200115/specs/records-jls.html > > On Fri, Jan 17, 2020 at 5:02 PM Remi Forax <fo...@univ-mlv.fr> wrote: >> >> ----- Mail original ----- >>> De: "Tagir Valeev" <amae...@gmail.com> >>> À: "Gavin Bierman" <gavin.bier...@oracle.com> >>> Cc: "amber-spec-experts" <amber-spec-experts@openjdk.java.net> >>> Envoyé: Vendredi 17 Janvier 2020 07:32:49 >>> Objet: Re: [records] New draft spec for JEP 359 >> >>> So it looks like the `final` modifier on record components is allowed >>> in 14-preview? >> >> javac using the latest beta of jdk 14 rejects them. >> so i hope the spec also reject them. >> >>> >>> With best regards, >>> Tagir Valeev. >> >> Rémi >> >>> >>> On Thu, Jan 16, 2020 at 10:41 PM Gavin Bierman <gavin.bier...@oracle.com> >>> wrote: >>>> >>>> Dear spec-experts, >>>> >>>> I need to make a clarification regarding the earlier email. Since we are so >>>> close to entering RDP2, it wasn’t possible to get all these changes to the >>>> spec >>>> (and their corresponding compiler patches) into JDK 14. They will have to >>>> wait >>>> until the second preview of records in JDK 15; along with whatever we >>>> decide >>>> regarding the issues that Brian has raised in a recent email: >>>> https://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-January/001913.html >>>> >>>> The records spec for JDK 14 that was approved by the CSR (JDK-8236189) is >>>> available at: >>>> >>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20200115/specs/records-jls.html >>>> >>>> It contains only two of the items listed in my earlier email, viz >>>> >>>> * Forbids capture of local variables in a local record >>>> * Adding missing annotation target PARAMETER (this was already implemented >>>> in >>>> the compiler, so just a typo in the spec) >>>> >>>> Just to repeat, the others - along with aligning the use of variable arity >>>> in >>>> the record component header and the canonical constructor >>>> (http://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-December/001885.html) >>>> - will be dealt with in the second preview of Records in JDK 15. >>>> >>>> Thanks, >>>> Gavin >>>> >>>> On 10 Jan 2020, at 13:31, Gavin Bierman <gavin.bier...@oracle.com> wrote: >>>> >>>> Happy new year everyone! An updated version of the records spec is >>>> available at: >>>> >>>> http://cr.openjdk.java.net/~gbierman/jep359/latest >>>> >>>> (which currently points to >>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20200110/specs/records-jls.html) >>>> >>>> This addresses: >>>> >>>> * Removes `final` modifier on record components >>>> * Adding missing annotation target PARAMETER >>>> * Corrects discussion of @SafeVarargs annotation >>>> * Forbids capture of local variables in a local record >>>> * Clarifies implicit formal parameter list in a compact constructor >>>> >>>> Gavin >>>> >>>> >>>>