Relaxed assignment conversions for sealed types

Brian Goetz brian.goetz at oracle.com
Sat Oct 31 23:30:10 UTC 2020



> On Oct 25, 2020, at 10:06 AM, Brian Goetz <brian.goetz at oracle.com> wrote:
> 
> To make it clear that I'm not talking about the annoyance of typing the cast, let's pretend I'm suggesting to write it like this:
> 
>     BarImpl bi = (__static BarImpl) b;

Pulling on this string some more — I think there’s a connection between this feature and total statement switches.  We’ve been looking for a way to make statement switches total, and here, what we’re looking for is a way to make _casts_ total.  Which suggests this is one feature, not two.  So perhaps:

    switch-total (x) { … }  // a switch, but with added bonus totality checking

    BarImpl b = (total BarImpl) bar  // a cast, but with added bonus totality checking

Obviously we can use another word besides `total`, but it’s a pretty good straw man.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20201031/53a9f439/attachment.htm>


More information about the amber-spec-experts mailing list