>       * What is your evaluation of the proposal?

+1 as before but I do have concerns

        * Why do open classes need to have also have open superclasses? 
        * I don’t think sealed methods/properties as default is the right 
default. 
        * If the default was open for methods/properties, then do we really 
need the sealed keyword? Could’t we just use final for that?

>       * Is the problem being addressed significant enough to warrant a change 
> to Swift?

Yes

>       * Does this proposal fit well with the feel and direction of Swift?

Requiring super classes to also be Open seems wrong. 

I agree with Kevin Ballard on being open by default for methods/ properties 
http://article.gmane.org/gmane.comp.lang.swift.evolution/23467/ 
<http://article.gmane.org/gmane.comp.lang.swift.evolution/23467/>

If we are open by default for methods/properties then we could simplify things 
by just using final for methods that need to be sealed; I don’t see the need to 
have sealed methods/properties outside of the module ONLY. 

We already have to mark all public methods/properties as public, if I need 
something not the be overridable then I can just use final. This would work the 
same across all classes. 

If I was a framework author that initially just had a library that was sealed 
but then somebody asked me to make it open; All I would want to do is add open 
to the class only, I would not want to spend the time to go back an add open to 
all public methods/properties specially if I am already using final. I think 
having method/properties open by default is the best compromised. I can see 
framework authors switching a class to be open and expecting that everything in 
the class in open and if they don’t open any methods, then what possible use is 
a subclass than an extension could not provide? I think that is an overreach to 
make the framework author have to add open to every public method in addition 
to having to open every super class. As a framework author if I think my 
clients could use subclassing, all I want to do is flip a switch on the classes 
that I want to make subclass able  and then just push a new version. As a 
framework user I want to be able to tell my framework author “can you just add 
open to classes abs and deca etc.” I think it is more likely that I will get my 
request if it is easy vs it the framework author needs to touch every class in 
the hierarchy. 


>       * If you have used other languages or libraries with a similar feature, 
> how do you feel that this proposal compares to those?
n/a
>       * How much effort did you put into your review? A glance, a quick 
> reading, or an in-depth study?

reviewed previously and followed the update. 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to