<div>I am still on the -1 side of this. I leverage the swift 3 enhanced encapsulation aspects of private fairly heavily and would rather see any additional efforts take place on needs of exposing things for subclasses to work with while hiding them from clients of those classes (better then protected like thing), submodules and things related. Also I would like to avoid forcing file organization on folks to control access to things if it can be done sensibly in other ways.</div><div><br></div><div>I don&#39;t see strong enough supportive reasoning in this proposal to warrant a change nor does aspect of the talk about it being harmful, etc. The default is internal, if you have no care for access controls just omit it and things will work great for new users, etc of swift. If you want things to be restricted for better encapsulation (or limiting auto completion) use private. If you find a need to relax thing some consider fileprivate.</div><div><br class="gmail_msg">-Shawn</div><div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">On Mon, Mar 20, 2017 at 8:26 PM Charles Srstka 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"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><blockquote type="cite" class="gmail_msg">On Mar 20, 2017, at 9:33 PM, Greg Parker 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"></blockquote><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="m_4097367989103653120m_-6288461720636585930Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Mar 20, 2017, at 4:54 PM, Douglas Gregor &lt;<a href="mailto:dgregor@apple.com" class="gmail_msg" target="_blank">dgregor@apple.com</a>&gt; wrote:</div><br class="m_4097367989103653120m_-6288461720636585930Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg"><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&#39;Segoe UI&#39;,Helvetica,Arial,sans-serif,&#39;Apple Color Emoji&#39;,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;;font-size:16px;background-color:rgb(255,255,255)" class="gmail_msg">Hello Swift community,</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&#39;Segoe UI&#39;,Helvetica,Arial,sans-serif,&#39;Apple Color Emoji&#39;,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;;font-size:16px;background-color:rgb(255,255,255)" class="gmail_msg">The review of SE-0159 &quot;Fix Private Access Levels&quot; begins now and runs through March 27, 2017. The proposal is available here:</p><blockquote style="box-sizing:border-box;margin:0px 0px 16px;padding:0px 1em;border-left-width:0.25em;border-left-style:solid;border-left-color:rgb(223,226,229);background-color:rgb(255,255,255)" class="gmail_msg"><div style="box-sizing:border-box;margin-top:0px;margin-bottom:0px" class="gmail_msg"><font color="#6a737d" face="-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol" size="3" class="gmail_msg"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md" class="gmail_msg" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md</a></font></div></blockquote></div></div></blockquote></div><div class="gmail_msg">-1. I yield the remainder of my time to Drew Crawford who satisfactorily explained my concerns.</div></div></div></blockquote><br class="gmail_msg"></div></div><div style="word-wrap:break-word" class="gmail_msg">I’ll second the -1 and the reference to Drew’s post, with the added comment that the concern with extensions could be easily solved simply by giving extensions access to private members of the extended type as long as those extensions are in the same module/submodule (or file, if you prefer, but I don’t). This would probably eliminate almost all of the use cases for fileprivate, as well as freeing us from the sometimes clumsy situation where we’re rather artificially forced to use files as a scope, instead enabling us to organize code into files as is appropriate for the project.</div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Charles</div><div class="gmail_msg"><br class="gmail_msg"></div></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></div>