<div>On Fri, Apr 7, 2017 at 1:10 AM Douglas Gregor via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:</div><div><span style="color:rgb(106,115,125);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;;background-color:rgb(255,255,255)"><br></span></div><div><span style="color:rgb(106,115,125);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;;background-color:rgb(255,255,255)">Proposal link: </span><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0169-improve-interaction-between-private-declarations-and-extensions.md" class="gmail_msg" target="_blank" style="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;">https://github.com/apple/swift-evolution/blob/master/proposals/0169-improve-interaction-between-private-declarations-and-extensions.md</a></div><div><br></div><div><div class="gmail_quote"><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"><ul style="box-sizing:border-box;padding-left:2em;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"><li style="box-sizing:border-box" class="gmail_msg">What is your evaluation of the proposal?</li></ul></div></blockquote><div>Strongly +1, this is definitely a strong step in a good direction, and it would make Swift more pleasant to work with for the programmers that use extensions to organize their code.</div><div><br></div><div>As I see it by reading the strong opinions about this proposal in the mailing list, we can split the affected groups into three:</div><div><br></div><div>1. Programmers that do not use extensions in the same file to organize their code.</div><div>2. Programmers that use extensions to organize their code but do not care about sharing implementation details in the same file within a type.</div><div>3. Programmers that use extensions to organize their code but care about sharing implementation details in the same file within a type.</div><div><br></div><div>The first bunch is not affected at all by this proposal, no matter the programmer style that they choose (like spliting extensions in separate files). They may feel that nothing improves with this, or that some opportunity is missed by this, or that <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md" style="box-sizing:border-box;color:rgb(3,102,214);text-decoration:none;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:15px">SE-0025</a> will never be reverted if this proposal gets accepted. Nevertheless, this change do not affect their code at all, even if it pushes the community to other programming style.</div><div><br></div><div>The second bunch, were I live, will receive this change with open arms. We think that if you are writing in a file you have access to the code in that file and can see/modify all the usages. It may be too little for some, but this proposal clearly improves the current situation for this group.</div><div><br></div><div>The third bunch are the ones whose code can be hurt, that is clear and I&#39;m not going to judge their reasons here. I suppose that this group was very much in favor of the divisive <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md" style="box-sizing:border-box;color:rgb(3,102,214);text-decoration:none;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:15px">SE-0025</a>. But I&#39;m not seeing this group happy with any proposal that does not includes more granularity, like another scope modifier, and any such proposal will hurt the first and second groups.</div><div><br></div><div>I don&#39;t know how big or representatives are these groups, I suppose the first group will include the majority of newcomers and the second group will include more seasoned Cocoa programmers, but that is just my impression.</div><div><br></div><div>Also, I like this change very much because the Swift 4 migration will be painlessly for basically everyone, unlike the Swift 3 fileprivate migration. No code should be changed if you don&#39;t want it, and the code will keep working the same. The only case where you can have problems migrating would be if you had:</div><div><br></div><div>struct House {</div><div>    private func openWindows() {}</div><div>}</div><div><br></div><div>extension House {</div><div>    private func openWindows() {}</div><div>}</div><div><br></div><div>But that is not even accepted by the compiler right now (at least not in the Linux one).</div><div><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"><ul style="box-sizing:border-box;padding-left:2em;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"><li style="box-sizing:border-box;margin-top:0.25em" class="gmail_msg">Is the problem being addressed significant enough to warrant a change to Swift?</li></ul></div></blockquote><div><br></div><div>Yes. This would be the thing that would rush me to upgrade to Swift 4 as fast as possible, since it would remove the single major painpoint that I had with Swift syntax.</div><div><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"><ul style="box-sizing:border-box;padding-left:2em;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"><li style="box-sizing:border-box;margin-top:0.25em" class="gmail_msg">Does this proposal fit well with the feel and direction of Swift?</li></ul></div></blockquote><div><br></div><div>Yes, it encourages again the use of extensions, not that it needed to.</div><div><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"><ul style="box-sizing:border-box;padding-left:2em;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"><li style="box-sizing:border-box;margin-top:0.25em" class="gmail_msg">If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</li></ul></div></blockquote><div><br></div><div>Not applicable, I think.</div><div><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"><ul style="box-sizing:border-box;padding-left:2em;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"><li style="box-sizing:border-box;margin-top:0.25em" class="gmail_msg">How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</li></ul></div></blockquote><div><br></div><div>Daily experience working with fileprivate in Swift since the first beta of Swift 3.</div><div><br></div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p style="font-family:Arial,sans-serif;font-size:13px;line-height:13px;margin:12px 0px"><span style="color:rgb(51,51,51);font-family:Helvetica,Arial,sans-serif;line-height:1em;display:block"><span style="font-size:x-small;font-family:arial,sans-serif;color:rgb(34,34,34)">INNOVATION IN PERSONAL COMMS</span></span></p><p style="font-family:Arial,sans-serif;font-size:13px;line-height:13px;margin:12px 0px"><span style="color:rgb(51,51,51);font-family:Helvetica,Arial,sans-serif;line-height:1em;display:block"></span></p><div dir="ltr" style="font-size:12.8px"><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;color:rgb(10,218,124)"><img src="cid:ii_1582527040132354" alt="Imágenes integradas 5" width="172" height="26"><br></strong></div><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;color:rgb(10,218,124)"><br></strong></div><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em"><font color="#000000">Víctor Pimentel Rodríguez · </font></strong><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px">Principal iOS Engineer</span><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><a href="mailto:vpimentel@tuenti.com" style="color:rgb(32,141,206);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em" target="_blank">vpimentel@tuenti.com</a><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em"><a href="javascript:void(0);" style="font-family:helvetica,arial,sans-serif;color:rgb(32,141,206)" target="_blank">+34 914 294 039</a> — <a href="javascript:void(0);" style="font-family:helvetica,arial,sans-serif;color:rgb(32,141,206)" target="_blank">+34 687 840 886</a><br>C/ Gran Vía, nº 28, 6ª planta — 28013 Madrid </span><br style="font-family:Helvetica,Arial,sans-serif"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em">Tuenti Technologies, S.L.</span><br style="font-family:Helvetica,Arial,sans-serif"></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em"><br></span></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><a href="http://www.tu.com/" style="color:rgb(32,141,206);font-size:11px" target="_blank">www.tu.com</a><br></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><a href="http://www.tuenti.com/" style="color:rgb(32,141,206);font-size:11px" target="_blank">www.tuenti.com<br></a></span></div></div></div></div></div></div></div></div></div></div></div></div>