[swift-evolution] SE-0025: Scoped Access Level, next steps

Jose Cheyo Jimenez cheyo at masters3d.com
Sun Mar 27 13:34:39 CDT 2016



> On Mar 27, 2016, at 7:21 AM, Maximilian H├╝nenberger <m.huenenberger at me.com> wrote:
> 
> I like the idea of protected (against extensions).
> However this raises the question whether extensions are also extensions of scope.
> 
> 
> Can "private(scope)" properties/functions be accessed from extensions?
I think the idea is for private-scope / local to not be seen from extensions in other files. I am not sure how that works for same file extensions.  
> 
> In your case:
> Is "protected" exactly like local? So it doesn't hide properties from extensions within the file?

Yes. just like local. 

> By making "private" scope based it is less private than "protected" which doesn't feel right to me. (Assuming extensions extend scope)
> 
> In my opinion "protected" should protect against other scopes/classes. Leaving "private" file based.

In essence there are two ideas floating around in my head:
1) give the new local / private-scope a unique name like 'secret' or 'protected' and keep everything else the same.  

2) redefine this new local / private-scope as just 'private', 
private-file becomes 'internal' , we find a new name for private-module like 'external' and we keep public as is. 

I'm am now leaning towards number 2. 

Public 
External (default)
Internal
Private





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160327/71dc815f/attachment.html>


More information about the swift-evolution mailing list