<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 29, 2016 at 4:48 PM, Matthew Johnson <span dir="ltr">&lt;<a href="mailto:matthew@anandabits.com" target="_blank">matthew@anandabits.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Jun 29, 2016, at 4:43 PM, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 29, 2016 at 3:15 PM, Jordan Rose via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
<br>
&gt; On Jun 29, 2016, at 13:13, Jose Cheyo Jimenez &lt;<a href="mailto:cheyo@masters3d.com" target="_blank">cheyo@masters3d.com</a>&gt; wrote:<br>
&gt;<br>
&gt; I know this might be have been brought up before but<br>
&gt;<br>
&gt; why not just disallow the “private&quot; keyword for top level types, extensions etc.<br>
&gt;<br>
&gt; A fixit could change top level `private` to `fileprivate`.<br>
&gt;<br>
&gt; I think this is a little less confusing since effectively this is what is happening in the background.<br>
<br>
</span>That doesn’t fix anything for inner types, so it’s a lot less important than the rest of the amendment.<br>
<br>
There actually is an answer to this, which is that the core team expects &#39;private&#39; to be the common keyword, and therefore it’s better if you can use it at the top level and ignore ‘fileprivate’ altogether in most programs.<br></blockquote><div><br></div><div>FWIW, the text of SE-0025 itself makes no proposal about `private` as an access level for types (only, strangely, nested types).</div></div></div></div></div></blockquote><div><br></div></span><div>It proposed introducing a general access level.  If any kind of limitation regarding which declarations it applied to was intended that would have been stated explicitly.  Omission of a specific class of declaration from the list of examples should not be interpreted as an intention to make `private` inapplicable to those declarations.</div></div></div></blockquote><div><br></div><div>I don&#39;t doubt that the intent was a general access level. However, in failing to mention top-level declarations of any sort as well as types, the proposal itself fails to present a vision for two critical issues being discussed here: (1) the issue of utterability; and (2) what to do when `private` and `fileprivate` are equivalent in meaning. Both of these scenarios are unprecedented because the three existing access levels do not have these issues. If we had a fuller vision of the design challenges during the initial proposal and review, these might have been resolved to more general satisfaction before implementation was attempted.</div><div> </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"><div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
Jordan<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div>
_______________________________________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div></blockquote></span></div><br></div></blockquote></div><br></div></div>