Switch labels (null again), some tweaking
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Apr 29 09:43:54 UTC 2021
>>
>> If I read the rules correctly, Box(Soup) + Bag(Soup) "cover"
>> Container<Lunch>, with the exception of the { null, Box(null),
>> Bag(null) }. So the above will throw when `lunch` is null, and will
>> also throw with Box(null) or Bag(null). Correct?
>>
>
> Correct (under the "we make switches total" plan.)
I realized there's also another remainder Box/Bag(*) - e.g.
Box/Bag(Pizza), where Pizza is a new type that shows up in the sealed
hierarchy.
To cover that (not that it's required at compile-time, just to imagine
what javac would emit), we need probably one of these:
case Box b:
or
case Container c
Right?
Maurizio
More information about the amber-spec-observers
mailing list