Hello, Gavin! Thank you for spec update. A minor nitpick regarding pattern-matching spec: http://cr.openjdk.java.net/~gbierman/jep394/jep394-20210108/specs/patterns-instanceof-jls.html#jls-14.20.3
As resource variable is now a local variable declaration, probably, the following statement is redundant and should be removed? > It is a compile-time error if final appears more than once as a modifier for > each variable declared in a resource specification. With best regards, Tagir Valeev. On Tue, Dec 22, 2020 at 6:47 PM Gavin Bierman <gavin.bier...@oracle.com> wrote: > > As we rampdown to JDK 16, the three spec bundles have been polished up a > little. I’ve updated them all: > > * Records: http://cr.openjdk.java.net/~gbierman/jep395/latest/ > * Pattern matching for instanceof: > http://cr.openjdk.java.net/~gbierman/jep394/latest/ > * Sealed Classes: http://cr.openjdk.java.net/~gbierman/jep397/latest/ > > Nearly all of the changes are just polishing up the language. However, the > pattern matching spec did have a small, significant change: Given that we had > already lifted the restriction that pattern variables were always final, we > have now decided to allow pattern variables to support a `final` modifier. > For example: > > if (e instanceof final String s) { > // s is in scope and final here > ... > } > > You’ll see also in the pattern matching spec that we have taken the > opportunity to tidy up the treatment of local variables in various places; > this is old technical debt that we are paying down, but given that pattern > variables are a subset of local variables we had an opportunity to finally do > this. > > As always, further polishing may apply as they get inserted into the actual > specs. > > If you have any comments please let me know. > > Wishing you all Happy Holidays and a better 2021! > > Gavin >