The other week, David Hart [started a discussion](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20161003/027632.html) about `private` and `fileprivate` from [SE-0025](https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md): *Scoped Access Level*, asking if "this ship has sailed" or not. As expected, the email elicited many responses from the community. Like David and Russ, I agree that this proposal was a mistake — in practice, using `fileprivate` feels cumbersome and too complex. I find extremely little value in `private`. In particular, these new access levels make type extensions more burdensome to implement since an `extension` cannot access `private` members. If the community is willing to put forth a detailed proposal with significant evidence to support that reverting SE-0025 would be best, it sounds like the Core Team will review it. As Lattner notes below, this would require a "pretty high burden of proof." In any case, this discussion can be deferred until Spring — after Swift 4 Phase 1 is completed.
0 commit comments