<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">There has been a small change to the spec available at:<div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">       </span><a href="http://cr.openjdk.java.net/~gbierman/jep360/latest/" class="">http://cr.openjdk.java.net/~gbierman/jep360/latest/</a></div><div class=""><br class=""></div><div class="">[This brings the spec in line with the compiler on the corner-case of an enum class that both implements a sealed interface and contains an enum constant with a class body.]</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Gavin<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 6 May 2020, at 16:13, Gavin Bierman <<a href="mailto:gavin.bierman@oracle.com" class="">gavin.bierman@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">We have made some presentational changes to the spec for JEP360 (Sealed Types), which are available at:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">       </span><a href="http://cr.openjdk.java.net/~gbierman/jep360/latest/" class="">http://cr.openjdk.java.net/~gbierman/jep360/latest/</a><br class=""><br class="">The only semantic change is a new error if the direct superclass or direct superinterface of a local class is `sealed`. A more complete set of changes to address all interactions between local and member classes and sealed types (see [1] for some of these) will come later, although perhaps not until JDK 16. <br class=""><br class="">Thanks,<br class="">Gavin<br class=""><br class="">[1] http://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-May/002156.html<br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">On 20 Apr 2020, at 22:50, Gavin Bierman <gavin.bierman@oracle.com> wrote:<br class=""><br class="">The latest (and hopefully final) draft of JEP 360 (Sealed Types) is available at:<br class=""><br class="">   http://cr.openjdk.java.net/~gbierman/jep360/latest<br class=""><br class="">The changes since the last draft was circulated in February [1]:<br class=""><br class="">* Some minor typos have been corrected, including changing the title of 8.1.6.<br class=""><br class="">* We have make corrections in a number of places to make it clear that the name<br class="">in a `permits` clause is not a type (and can not be annotated, for example).<br class=""><br class="">* We now require a functional interface to not be `sealed`, rather than imposing<br class="">checks on target types of lambda expressions. <br class=""><br class="">* We have removed the changes to narrowing reference conversion which allowed<br class="">for stricter checking of cast conversions wrt sealed type hierarchies. We have<br class="">decided to defer this feature until a later release to allow us to develop a<br class="">broader treatment of "disjoint types" that can be used not just in cast<br class="">conversion, but in other places such as bounds checking and pattern matching.<br class=""><br class="">The refined cast conversion was nice to have, but really only will make a<br class="">difference when we get to patterns in switches, so it makes sense to spend some<br class="">more time now considering our design rather than refining cast conversion in a<br class="">piecewise manner. <br class=""><br class="">Thanks,<br class="">Gavin<br class=""><br class="">[1] https://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-February/002031.html<br class=""><br class=""></blockquote><br class=""></div></div></blockquote></div><br class=""></div></body></html>