<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Is that a particularly common case? &nbsp;I haven’t written code that needs access patterns like this and it strikes me as strange that anything you’re willing to expose to extensions scattered throughout your codebase you’d also prefer not to export throughout a module that you have complete control over. &nbsp;Sure, it might be “cleaner” to scope your variables to the implementation, but past a certain point it just seems to encourage extreme decomposition and scattering of a single class or structure when you should be separating your implementation into multiple classes and structures.</div><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 29, 2016, at 11:07 AM, Gonçalo Alvarez Peixoto &lt;<a href="mailto:goncalo.alvarezpeixoto@gmail.com" class="">goncalo.alvarezpeixoto@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Robert,<div class=""><br class=""></div><div class="">Thanks for your feedback.</div><div class=""><br class=""></div><div class="">However, I tend to disagree with you.&nbsp;</div><div class=""><br class=""></div><div class=""><span style="font-size:12.800000190734863px" class=""><i class="">"The proposal, as it stands, does nothing to indicate how this is much different from internal - all examples given would trivially be solved by internal members."</i></span><br class=""></div><div class="">This proposal aims at covering all of the cases in which you <b class="">do not want</b>&nbsp;to expose your properties <b class="">internally. </b>For instance, you might want to access a member of a view controller from an extension of this view controller on another file, but not make it accessible from other members in the module&nbsp;(which is what&nbsp;<b class="">internal </b>does).</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Gonçalo</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2016-11-29 15:53 GMT+00:00 Robert Widmann <span dir="ltr" class="">&lt;<a href="mailto:devteam.codafi@gmail.com" target="_blank" class="">devteam.codafi@gmail.com</a>&gt;</span>:<br class=""><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=""><div class="">The proposal, as it stands, does nothing to indicate how this is much different from internal - all examples given would trivially be solved by internal members.&nbsp; I don’t think we need finer-grained access control to address this, I think we need extensions, at least in the same file as their parent declarations, to be able to define variables.</div><br class=""><div class=""><blockquote type="cite" class=""><div class=""><div class="h5"><div class="">On Nov 29, 2016, at 10:24 AM, Gonçalo Alvarez Peixoto via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_6032781764413388469Apple-interchange-newline"></div></div><div class=""><div class=""><div class="h5"><div dir="ltr" class="">Hello, everyone!<div class=""><br class=""></div><div class="">I would like to introduce a new proposal to swift evolution, but first I would love to run it by all of you so I get everyone's feedback and enrich it.</div><div class=""><br class=""></div><div class="">This proposal consists of introducing a new <b class="">typeprivate </b>access control level which allows for members to be accessed in all extensions of a given <b class="">type,</b>&nbsp;whether lying within or in another file.</div><div class=""><br class=""></div><div class="">You'll find the proposal draft in:</div><div class=""><a href="https://github.com/goncaloalvarez/swift-evolution/blob/master/proposals/NNNN-introduce-typeprivate-access-control-level.md" target="_blank" class="">https://github.com/goncaloalva<wbr class="">rez/swift-evolution/blob/<wbr class="">master/proposals/NNNN-<wbr class="">introduce-typeprivate-access-<wbr class="">control-level.md</a></div><div class=""><br class=""></div><div class="">Thanks in advance for taking the time to evaluate the proposal.</div><div class=""><br class=""></div><div class="">Best regards,</div><div class="">Gonçalo</div></div></div></div><span class="">
______________________________<wbr class="">_________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-<wbr class="">evolution</a><br class=""></span></div></blockquote></div><br class=""></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>