I fixed a number of small bugs in the spec. The latest draft is available at:

         
<http://cr.openjdk.java.net/~gbierman/jep360/latest/>http://cr.openjdk.java.net/~gbierman/jep360/latest/
 <http://cr.openjdk.java.net/~gbierman/jep360/latest/>

Thanks,
Gavin

> On 13 May 2020, at 17:34, Gavin Bierman <gavin.bier...@oracle.com> wrote:
> 
> There has been a small change to the spec available at:
> 
>       http://cr.openjdk.java.net/~gbierman/jep360/latest/ 
> <http://cr.openjdk.java.net/~gbierman/jep360/latest/>
> 
> [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.]
> 
> Thanks,
> Gavin
> 
>> On 6 May 2020, at 16:13, Gavin Bierman <gavin.bier...@oracle.com 
>> <mailto:gavin.bier...@oracle.com>> wrote:
>> 
>> We have made some presentational changes to the spec for JEP360 (Sealed 
>> Types), which are available at:
>> 
>>      http://cr.openjdk.java.net/~gbierman/jep360/latest/ 
>> <http://cr.openjdk.java.net/~gbierman/jep360/latest/>
>> 
>> 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. 
>> 
>> Thanks,
>> Gavin
>> 
>> [1] 
>> http://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-May/002156.html
>> 
>> 
>> 
>>> On 20 Apr 2020, at 22:50, Gavin Bierman <gavin.bier...@oracle.com> wrote:
>>> 
>>> The latest (and hopefully final) draft of JEP 360 (Sealed Types) is 
>>> available at:
>>> 
>>>   http://cr.openjdk.java.net/~gbierman/jep360/latest
>>> 
>>> The changes since the last draft was circulated in February [1]:
>>> 
>>> * Some minor typos have been corrected, including changing the title of 
>>> 8.1.6.
>>> 
>>> * We have make corrections in a number of places to make it clear that the 
>>> name
>>> in a `permits` clause is not a type (and can not be annotated, for example).
>>> 
>>> * We now require a functional interface to not be `sealed`, rather than 
>>> imposing
>>> checks on target types of lambda expressions. 
>>> 
>>> * We have removed the changes to narrowing reference conversion which 
>>> allowed
>>> for stricter checking of cast conversions wrt sealed type hierarchies. We 
>>> have
>>> decided to defer this feature until a later release to allow us to develop a
>>> broader treatment of "disjoint types" that can be used not just in cast
>>> conversion, but in other places such as bounds checking and pattern 
>>> matching.
>>> 
>>> The refined cast conversion was nice to have, but really only will make a
>>> difference when we get to patterns in switches, so it makes sense to spend 
>>> some
>>> more time now considering our design rather than refining cast conversion 
>>> in a
>>> piecewise manner. 
>>> 
>>> Thanks,
>>> Gavin
>>> 
>>> [1] 
>>> https://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-February/002031.html
>>> 
>> 
> 

Reply via email to