<div dir="ltr">On Fri, Oct 7, 2016 at 8:49 PM, Braeden Profile 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><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt;<br>
&gt; On Oct 7, 2016, at 5:46 PM, Trans via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Private access that limits exposure to extensions and subclasses is<br>
&gt; the bane of reusability. It sucks in Java and it sucks in Swift. As<br>
&gt; far as I know Ruby is the only language that seems to get that.<br>
<br>
</span>Agreed.  Reading this thread, almost everyone’s presented actual use cases would be fixed if we could do something functionally equivalent to private(type) (even if that’s not the best syntax).  If we could have the ability to write extensions for a type throughout a module and access its private properties (and private subtypes, methods, etc.), then the ugliness introduced by fileprivate would be all but eliminated.  That’s an access level I would love.<br>
<br>
I do want to mention, though, that while I would enjoy C++-style type-level private, I don’t want protected.  The rationale for avoiding that in Swift is fantastic.</blockquote><div><br></div><div>If I recall correctly, this idea was also put forward during the original SE-0025 discussions. However, the design we have now was chosen over this alternative and others. I was one of those people who didn&#39;t really like the new private, didn&#39;t like `fileprivate`, and generally felt that alternative designs (or even the Swift 2 status quo) could be superior. But, the discussion was had, all of these viewpoints and more were aired and mulled over, and a consensus was reached. It&#39;d have to be some startling new insight to justify yet another change for Swift 4.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
&gt; ______________________________<wbr>_________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br>
______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
</div></div></blockquote></div><br></div></div>