![Swift Unwrapped artwork](https://is2-ssl.mzstatic.com/image/thumb/Podcasts113/v4/52/bb/9a/52bb9ad5-445f-ae66-18f1-ea48713bcd81/mza_6039041788077785464.jpg/100x100bb.jpg)
07: Access Control - The Saga Continues
Swift Unwrapped
English - April 17, 2017 12:00 - 37 minutes - 34.8 MB - ★★★★★ - 90 ratingsTechnology News Tech News swift llvm lldb clang compilers ios macos tvos watchos technology Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed
Access Control Roller Coaster
First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md
Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md
For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md
Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417
Rejection email: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000337.html
Doug Gregor opens discussion for expanding private: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034903.html
David Hart, with a new proposal from Doug’s suggestions: https://github.com/apple/swift-evolution/pull/668
http://www.jessesquires.com/thoughts-on-swift-access-control/
Modules
Features shouldn't be designed and deliberated in isolation. Decisions need to be holistic and forward-thinking. It's the project management equivalent of ABI resilience. "Design Resilience".
Robert Widmann's draft modules proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a
fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access.
###Thank You
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/