That blog post starts out right away to say that it&#39;s a response to community feedback. Moreover, the scenario you describe was just as possible in 2014 as it is now. Finally, then as now, it&#39;s unclear why you consider documentation to be &quot;not pretty.&quot; After all, your reader would need to consult the documentation before using a variable anyway.<br><div class="gmail_quote"><div dir="ltr">On Fri, Feb 17, 2017 at 01:04 Charlie Monroe via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg">I&#39;m aware of this, but that&#39;s fairly a long time ago - before Swift was open source and had community feedback and before Swift was used widely among developers.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">To me, real-world use of the language has shown some flaws of missing a protected access control, mainly having to decide between having a variable internal or cramming all of the class extension into one file, making it a 3KLOC mess. Either solution is not pretty - now I have it split among several files with an internal variable commented as &quot;Do not use, for private use of this class only.&quot;</div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Feb 17, 2017, at 7:47 AM, Jose Cheyo Jimenez &lt;<a href="mailto:cheyo@masters3d.com" class="gmail_msg" target="_blank">cheyo@masters3d.com</a>&gt; wrote:</div><br class="m_-6805318124205854687Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div dir="auto" class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><a href="https://developer.apple.com/swift/blog/?id=11" class="gmail_msg" target="_blank">https://developer.apple.com/swift/blog/?id=11</a></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg">On Feb 16, 2017, at 10:05 PM, Charlie Monroe via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg">How about removing fileprivate, getting Swift 2 meaning of private (as most people here now suggest) and add additional @protected annotation for those who want a more fine-grained solution:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span style="font-family:Menlo;font-size:9px;font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span style="color:rgb(186,45,162)" class="gmail_msg">@protected</span> </span><span style="font-family:Menlo;font-size:9px;font-variant-ligatures:no-common-ligatures;color:rgb(186,45,162)" class="gmail_msg">private</span> - members accessable only from the class/struct/enum/... and their extensions within the file</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span style="font-family:Menlo;font-size:9px;font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span style="color:rgb(186,45,162)" class="gmail_msg">@protected</span> <font color="#ba2da2" class="gmail_msg">internal</font></span> - again, but you can access it even from extensions and subclasses outside of the file within the entire module.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span style="font-family:Menlo;font-size:9px;font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span style="color:rgb(186,45,162)" class="gmail_msg">@protected</span> </span><span style="font-family:Menlo;font-size:9px;font-variant-ligatures:no-common-ligatures;color:rgb(186,45,162)" class="gmail_msg">public/open</span> - the same as above, but outside the modules.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">To me, this way most people here will be happy:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">- those wishing the access control gets simplified - it in fact does, you don&#39;t need to use @protected, if you don&#39;t want to/need to.</div><div class="gmail_msg">- those who need a fine-grained solution, here it is.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Feb 17, 2017, at 3:49 AM, Matthew Johnson via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_-6805318124205854687Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg">Sent from my iPad<br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg">On Feb 16, 2017, at 8:36 PM, David Sweeris via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg">On Feb 16, 2017, at 14:34, Slava Pestov via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail_msg"><br class="gmail_msg">While we’re bikeshedding, I’m going to add my two cents. Hold on to your hat because this might be controversial here.<br class="gmail_msg"><br class="gmail_msg">I think both ‘private’ and ‘fileprivate’ are unnecessary complications that only serve to clutter the language.<br class="gmail_msg"><br class="gmail_msg">It would make a lot more sense to just have internal and public only. No private, no fileprivate, no lineprivate, no protected. It’s all silly.<br class="gmail_msg"></blockquote><br class="gmail_msg">Eh, I&#39;ve used `private` to keep myself honest in terms of going through some book-keeping functions instead of directly accessing a property.<br class="gmail_msg"></blockquote><br class="gmail_msg">This is exactly the kind of thing I like it for and why I hope we might be able to keep scoped access even if it gets a new name that ends up as awkward as fileprivate (allowing private to revert to the Swift 2 meaning).<br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="gmail_msg">- Dave Sweeris<br class="gmail_msg">_______________________________________________<br class="gmail_msg">swift-evolution mailing list<br class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></blockquote><br class="gmail_msg">_______________________________________________<br class="gmail_msg">swift-evolution mailing list<br class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></div></div></blockquote></div><br class="gmail_msg"></div></blockquote><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><span class="gmail_msg">_______________________________________________</span><br class="gmail_msg"><span class="gmail_msg">swift-evolution mailing list</span><br class="gmail_msg"><span class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a></span><br class="gmail_msg"><span class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class="gmail_msg"></div></blockquote></div></div></blockquote></div><br class="gmail_msg"></div>_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>