Draft JEPs for Patterns in switch and Record Patterns

John Hendrikx hjohn at xs4all.nl
Tue Feb 28 21:11:39 UTC 2023


In https://openjdk.org/jeps/8300542, the example in "Improved support 
for enum constant case labels" seems to be incorrect.

I think the `goodEnumSwitch2`:

     static void goodEnumSwitch2(Currency c) {

Should use `Coin` as parameter:

     static void goodEnumSwitch2(Coin c) {

Also, the enum is called `Coin`, but `Coins` is used a qualifier in 
several places.

--John

------ Original Message ------
>From "Gavin Bierman" <gavin.bierman at oracle.com>
To "amber-dev at openjdk.org" <amber-dev at openjdk.org>
Cc "amber-spec-experts" <amber-spec-experts at openjdk.org>
Date 28/02/2023 17:21:42
Subject Draft JEPs for Patterns in switch and Record Patterns

>Hello,
>
>We are planning to finalize the two pattern matching JEPs in JDK 21. Drafts of
>these final JEPs are available here:
>
>Pattern matching for switch: https://openjdk.org/jeps/8300542
>Record patterns:             https://openjdk.org/jeps/8300541
>
>We're proposing some small changes from the preview versions about to appear in
>JDK 20. These include:
>
>- We're dropping parenthesized patterns. They were leftover from a previous
>version of patterns, and they weren't used very much. They complicate the spec
>for not a lot of gain.
>
>- We're going to support case labels that are the qualified name of enum
>constants, and allow switches over non-enum types to have enum case labels
>provided they use the qualified names of the enum constants and these labels
>are assignment compatible with the switch type.
>
>- We're dropping the support for record patterns in the header of enhanced for
>statements. These will re-appear in a separate forthcoming JEP.
>
>Please take a look at these new JEPs and give us your feedback (either on this
>list or directly to me).
>
>Thanks,
>Gavin
>



More information about the amber-dev mailing list