Well, I walked into that one :( Sorry to trawl all that up on a Sunday.

I get it now.  “open” is the new “public”, “public, the new “final” at
least as far as classes outside the module are concerned.

John

> On 15 Aug 2016, at 10:51, Tino Heth <2...@gmx.de> wrote:
> 
> 
>> Am 14.08.2016 um 14:59 schrieb Jean-Denis Muys via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>>:
>> 
>> This decision is bad, not because it makes the default for classes to be 
>> unsubclassable
> 
> Seems that the prediction of the grief caused by SE-0117 in the long run was 
> right ;-) — but be careful, the title doesn't reflect reality anymore:
> As far as I understand, the default won't be changed at all.
> It has been internal, and it will be internal.
> The change is that changing the default to "public" will only make a 
> class/method visible outside the current module, without the right to 
> subclass/override.
> So, basically, "public" is renamed to "open".
> Imho this is still causing unnecessary trouble, as it breaks most libraries 
> out there (more precisely: Third party code that relies on the old behavior), 
> but in the future, you can just use "open" instead of "public", and little 
> else will change — except that users of your framework may assume that "open" 
> is an extension of "public", whereas you may follow the notion that "public" 
> is an restriction of "open".
> 
> In the end, imho the whole topic has been decided in a very Solomonic way 
> that disappoints both parties ;-), so I don't think it will be a reason for 
> someone to fork Swift.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to