[swift-evolution] access control proposal

Ilya Belenkiy ilya.belenkiy at gmail.com
Mon Dec 14 06:16:03 CST 2015

These are very nice refinements if we set a goal to make those scenarios
work. I think that they they would just need to be refactored though. If
the access level is so convoluted, there is something wrong with the API.

Ilya Belenkiy

On Sun, Dec 13, 2015 at 6:53 PM Matthew Johnson via swift-evolution <
swift-evolution at swift.org> wrote:

> I don’t think these are troll proposals. They *are* a little more limited,
> a little more esoteric, but you could say the same thing about `local` vs.
> `private`. And in some cases you can emulate some of these with the four
> access modifiers you want, but again, you could say the same thing about
> `local` vs. `private`.
> You're right.  Your examples have convinced me of this point.  There exist
> non-troll proposals for further access modifiers.
> There are definitely further refinements to access control that could be
> desired.  I have given them some thought as this thread has proceeded.
> There would be ways to accommodate them through refinement of the 'scope'
> access level.
> For example, we could allow a syntactic 'scope {}' block which would be
> transparent for all purposes except introducing a scope for access
> control.  We could also allow labeled scopes and allow the 'scope' access
> control level to specify a label, for example to allow an inner type to
> expose scoped members to the outer type but not other code in the same file.
> While this potential exists I think it introduces complexity that is
> probably not worth it.  I am only mentioning these ideas to demonstrate
> that a 'scope' access modifier is something that can be refined to provide
> more control if enough compelling use cases were identified.  We wouldn't
> need to add entirely new access modifiers to address such use cases.
> Matthew
> _______________________________________________
> 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/20151214/bc6c7adb/attachment.html>

More information about the swift-evolution mailing list