| /* | |
| * @test /nodynamiccopyright/ | |
| * @bug 8317300 | |
| * @summary javac erroneously allows "final" in front of a record pattern | |
| * @compile/fail/ref=T8317300.out -XDrawDiagnostics T8317300.java | |
| */ | |
| public class T8317300 { | |
| record Foo (int x) {} | |
| record Bar (Foo x) {} | |
| void test1(Object obj) { | |
| switch (obj) { | |
| case final Foo(int x) -> {} | |
| default -> {} | |
| } | |
| } | |
| void test2(Object obj) { | |
| switch (obj) { | |
| case Bar(final Foo(int x)) -> {} | |
| default -> {} | |
| } | |
| } | |
| } |