Hello all! Yuriy pointed out a valid point.
1) Should we treat float/double/boolean/longs as a new addition to the non-enhanced switch (old switch) and support anything new that comes with that? or 2) Should we treat those data types equally with all the pre-existing ones? I am strongly in favour of the 2) for the shake of symmetry and uniformity in what the user will assume, thus I will fix the bug. What do others think? ________________________________ From: Yuriy Maslyanko <[email protected]> Sent: 24 October 2023 21:57 To: Angelos Bimpoudis <[email protected]> Cc: [email protected] <[email protected]> Subject: JEP 455: Non-enhanced switch statements Hi Angelos, Section 14.11.2 of https://cr.openjdk.org/~abimpoudis/instanceof/jep443-20231010/specs/instanceof-jls.html#jls-14.11.2 has this note: For compatibility reasons, switch statements that are not enhanced switch statements are not required to be exhaustive. Noticed that if the switch selector statement is float/double/boolean (in this case it’s a non-enhanced switch statement), the code shown below fails with “error: the switch statement does not cover all possible input values”: static boolean check = false; public static boolean testMethod() { double v1 = 1d; switch ( v1 ) { case 1d: check = true; break; } return check; }
