[swift-evolution] [Proposal] Sealed classes by default
    Matthew Johnson 
    matthew at anandabits.com
       
    Wed Jun 29 15:33:27 CDT 2016
    
    
  
Sent from my iPad
On Jun 29, 2016, at 2:54 PM, John McCall via swift-evolution <swift-evolution at swift.org> wrote:
>> On Jun 29, 2016, at 11:39 AM, Vladimir.S <svabox at gmail.com> wrote:
>> How about `public(extensible)` ?
> 
> Hmm.  I started to work out an example with these as separate modifiers, and I think I understand the need to combine them in some way.
> 
> I wonder if just "extensible" would be good enough.  It is a term that's used in API descriptions.
'extensible' is a broad term.  That has both advantages and disadvantages.  
An advantage is that it can be used to mean both 'subclassable' / 'inheritable' as well as 'overridable'.  This would allow us to use a single keyword, while sealing methods by default in 'extensible' classes.  
A disadvantage is that is isn't immediately clear what kind of extensibility is provided - you just have to know what the keyword means in a specific context.
Perhaps a larger disadvantage is that 'extensible' shares a root with 'extension' and all public classes are open to extension in Swift.  
-Matthew
> 
> John.
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
    
    
More information about the swift-evolution
mailing list