[swift-evolution] [Review #3] SE-0117: Allow distinguishing between public access and public overridability

Andre pyunpyun at mac.com
Mon Jul 25 18:43:19 CDT 2016


> 2016/07/22 0:33、Chris Lattner via swift-evolution <swift-evolution at swift.org> のメール:
> 
> Hello Swift community,
> 
> The third review of "SE-0117: Allow distinguishing between public access and public overridability" begins now and runs through July 25. The proposal is available here:
> 
> 	https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md
> 
> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
> 
> 	https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> or, if you would like to keep your feedback private, directly to the review manager.
> 
> What goes into a review?
> 
> The goal of the review process is to improve the proposal under review through constructive criticism and contribute to the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
> 
> 	* What is your evaluation of the proposal?

+1 for the first design
(it would be nice to have stored properties on extensions if we couldn't subclass anymore as that is one of the cases that I would subclass something, or uses associated object in objc)

----------

I am totally in agreement with Garths’ most lucid and cogent "reframing" of this proposal:

All we are doing now is subdividing public into two separate sublevels, public and open. Just as public subsumes all the privileges of internal, open subsumes public.

Then we can just reframe the gist of it like this:


Before SE-0117
After  SE-0117

Subclassable →
public
open

Visible →
public
public
Outside Module
Default →
internal
internal
Inside Module

private
private


This is a lot less controversial and if this is what this proposal really means, I think there would be a lot less resistance to it...


> 	* 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?
Yes

> 	* If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
Kotlin w/open classes except that it limits subclassing wether inside or outside of a 'module' (basically taking harder stance against subclassing).

I like swifts "middle-way" approach.

> 	* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
Been following this proposal since original discussions, participated in previous reviews, read all the emails in his discussion and toyed a bit more with kotlin to understand it's open/sealed implementation compared to this proposal, also followed a couple conversations/blogs online about this proposal.

> More information about the Swift evolution process is available at
> 
> 	https://github.com/apple/swift-evolution/blob/master/process.md
> 
> Thank you,
> 
> -Chris Lattner
> Review Manager
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160726/0758b15d/attachment.html>


More information about the swift-evolution mailing list