Refinements for sealed types
Alex Buckley
alex.buckley at oracle.com
Mon Aug 19 18:35:37 UTC 2019
On 8/19/2019 11:27 AM, Brian Goetz wrote:
>>> So, given all this, we should focus all our ceremony-reduction on the
>>> case of co-declared sum types. Which is mostly what I think I was
>>> suggesting:
>>>
>>> - Infer the permits clause when all the subtypes are co-declared;
>>> - Infer “final” for leaf classes in a sum type;
>>> - Require explicitness in both sealed/non-sealed, and permits
>>> clause, in other cases.
>>
>> How do you know from `sealed class X {}` and the rest of its
>> compilation unit that all X's subtypes are co-declared?
>
> By co-declared, I mean "in the same compilation unit."
The emphasis should be on the word "all", not "co-declared". How do you
know that ALL of X's subtypes are declared in the same compilation unit?
Alex
More information about the amber-spec-experts
mailing list