> On Mar 3, 2017, at 3:19 AM, Adrian Zubarev via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> (1) It seems odd to use scope as both an access control modifier alone and as 
> a function-like attribute. Perhaps something like access(set, scope) would be 
> better than scope(set). As it is, we’re conflating scope with meaning 
> visibility and lexical scope—I found that very confusing.
> I like the idea of calling it access instead of scope, but I’d prefer keeping 
> it as an access modifier instead of an attribute.
> 
I’m coming around to this view as well.  I’m going to give it a little bit more 
thought but will likely be updating the proposal to reflect this soon.
> (2) I think that the attribute should be spelled @access like other 
> attributes in Swift, @availability for example. This seems more consistent.
> I must disagree here, because this proposal aims to replace all current 
> access modifiers with a whole new model, but for simplicity keep aliases 
> intact. That means scope(…) can be used as a standalone modifier if you’re 
> someone who don’t want to use public, open etc. The implication of an access 
> modifier is that it doesn’t need the @ attribute prefix.
> 
> My personal question is, what happens to static in classes? I cannot remember 
> where I read it before, but I remember that static is an alias for final 
> class. Does it mean that public static in classes will become an alias for 
> scope(call, everywhere) scope(override, nowhere) class?
> 
It would be really helpful if you can find a reference to this somewhere.  If 
it’s possible to define static in terms of this system also that would be 
pretty cool.
> @Matthew: I’d really appreciate if you could add a few simple examples using 
> scope(…) in real code to understand it’s behavior (I’m not asking for some 
> code that makes sense, just something that explains the behavior of the 
> access modifier). I’m kinda having hard times to follow the idea of 
> overloading the typealiases in some corners.
> 
I'm not sure I follow what you mean by “overloading the typealiases”.  Can you 
elaborate?  If you can provide examples of things that you’re having trouble 
understanding that would be helpful.  I will be happy to include additional 
examples where they can add clarity.
> 
> 
> 
> -- 
> Adrian Zubarev
> Sent with Airmail
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>

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

Reply via email to