<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div id="compose" contenteditable="true" style="padding-left: 20px; padding-right: 20px; padding-bottom: 8px;">
<div>Hi Adrian,</div>
<div><br>
</div>
<div>Yes, submodule would describe it.<br>
<br>
<div class="acompli_signature">- Jim</div>
<br>
</div>
</div>
<div class="gmail_quote">_____________________________<br>
From: Adrian Zubarev &lt;<a dir="ltr" href="mailto:adrian.zubarev@devandartist.com" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="7">adrian.zubarev@devandartist.com</a>&gt;<br>
Sent: Thursday, December 8, 2016 2:18 AM<br>
Subject: Re: [swift-evolution] Any consideration for directoryprivate as a compliment to fileprivate?<br>
To: Jim Malak &lt;<a dir="ltr" href="mailto:jim.malak@beryle-lee.com" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="8">jim.malak@beryle-lee.com</a>&gt;<br>
Cc: &lt;<a dir="ltr" href="mailto:swift-evolution@swift.org" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="9">swift-evolution@swift.org</a>&gt;<br>
<br>
<br>
<meta content="text/html; charset=utf-8">
<style><!--body        {font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;        padding:1em;        margin:auto;        background:#fefefe}h1, h2, h3, h4, h5, h6        {font-weight:bold}h1        {color:#000000;        font-size:28pt}h2        {border-bottom:1px solid #CCCCCC;        color:#000000;        font-size:24px}h3        {font-size:18px}h4        {font-size:16px}h5        {font-size:14px}h6        {color:#777777;        background-color:inherit;        font-size:14px}hr        {height:0.2em;        border:0;        color:#CCCCCC;        background-color:#CCCCCC;        display:inherit}p, blockquote, ul, ol, dl, li, table, pre        {margin:15px 0}a, a:visited        {color:#4183C4;        background-color:inherit;        text-decoration:none}#message        {border-radius:6px;        border:1px solid #ccc;        display:block;        width:100%;        height:60px;        margin:6px 0px}button, #ws        {font-size:12 pt;        padding:4px 6px;        border-radius:5px;        border:1px solid #bbb;        background-color:#eee}code, pre, #ws, #message        {font-family:Monaco;        font-size:10pt;        border-radius:3px;        background-color:#F8F8F8;        color:inherit}code        {border:1px solid #EAEAEA;        margin:0 2px;        padding:0 5px}pre        {border:1px solid #CCCCCC;        overflow:auto;        padding:4px 8px}pre > code        {border:0;        margin:0;        padding:0}#ws        {background-color:#f8f8f8}.bloop_markdown table        {border-collapse:collapse;        font-family:Helvetica,arial,freesans,clean,sans-serif;        color:rgb(51,51,51);        font-size:15px;        line-height:25px;        padding:0}.bloop_markdown table tr        {border-top:1px solid #cccccc;        background-color:white;        margin:0;        padding:0}.bloop_markdown table tr th        {font-weight:bold;        border:1px solid #cccccc;        margin:0;        padding:6px 13px}.bloop_markdown table tr td        {border:1px solid #cccccc;        margin:0;        padding:6px 13px}.bloop_markdown table tr th :first-child, table tr td :first-child        {margin-top:0}.bloop_markdown table tr th :last-child, table tr td :last-child        {margin-bottom:0}.bloop_markdown blockquote        {border-left:4px solid #dddddd;        padding:0 15px;        color:#777777}blockquote > :first-child        {margin-top:0}blockquote > :last-child        {margin-bottom:0}code, pre, #ws, #message        {word-break:normal;        word-wrap:normal}hr        {display:inherit}.bloop_markdown :first-child        {}code, pre, #ws, #message        {font-family:Menlo,Consolas,Liberation Mono,Courier,monospace}.send        {color:#77bb77}.server        {color:#7799bb}.error        {color:#AA0000}--></style>
<div class="bloop_markdown">
<p>You haven&#8217;t seen this in the list because no one requested <code>dictionaryprivate</code> yet. :D</p>
<hr>
<p>@core-team: See what you have done with <code>&gt;&gt;file&lt;&lt;private</code> thing. <code>
typerprivate</code>, <code>typepublic</code> all these requests for new access modifiers.<img src="http://t1.gstatic.com/images?q=tbn:ANd9GcT3cujrbG_i0xySoXKp-suW9lZkpwPtIl2MeORabYg8_sdj0KArU6rA" alt="facepalm"></p>
<p>Instead of just going with</p>
<pre><code class="swift">privateprivate(file)// for new one  private(type)</code></pre>
<p>I know there would be some people that would forget about <code>(file/type)</code> and write only<code>private</code> everywhere, which is probably the main reason why we have
<code>fileprivate</code> now.</p>
<hr>
<p>Anyways let&#8217;s be a little more constructive here.</p>
<p>Hi Jim, regarding your request, it feels like this is something that falls into the topic of<strong>submodules</strong>. :) Correct me if I&#8217;m wrong here.</p>
<p></p>
</div>
<div class="bloop_original_html"><style><!--body        {font-family:Helvetica,Arial;        font-size:13px}--></style>
<div id="bloop_customfont" style="font-family:Helvetica,Arial; font-size:13px; margin:0px; line-height:auto">
<br>
</div>
<br>
<div id="bloop_sign_1481180858140833792" class="bloop_sign">
<div style="font-family:helvetica,arial; font-size:13px">--&nbsp;<br>
Adrian Zubarev<br>
Sent with Airmail</div>
</div>
<br>
<p class="airmail_on">Am 8. Dezember 2016 um 07:50:07, Jim Malak via swift-evolution (<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>) schrieb:</p>
<blockquote type="cite" class="clean_bq"><span>
<div>
<div></div>
<div>
<div>My apologies up front if I am going about this incorrectly. I have been exploring extensions in Swift 3 both as a part of protocol-oriented programming and as a way to encapsulate related code to improve readability and maintainablity of otherwise more
 complex classes I have designed. I am able to encapsulate methods and calculated properties in extensions and restrict their use to the object type I am extending as long as everything is in one file via fileprivate.&nbsp;</div>
<div><br>
</div>
<div>I would like to be able to have my class or structure file in a directory that contains my associated extensions &nbsp;(also in separate files) and be able to restrict the access &nbsp;of appropriate properties and &nbsp;methods to that common directory. This would allow
 the same level encapsulation as fileprivate with the benifit of being able to organize code into sepereate files based on function.</div>
<div><br>
</div>
<div>I did not see this in the commonly rejected list but am unsure if this is something that is out of scope for 4.0. Is this something I can write up a proposal for? Is there some other approach that I missed that I should be using instead?</div>
<div><br>
<div class="acompli_signature">Kind regards,<br>
Jim Malak<br>
<br>
</div>
<br>
</div>
_______________________________________________<br>
swift-evolution mailing list<br>
<a dir="ltr" href="mailto:swift-evolution@swift.org" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="12">swift-evolution@swift.org</a><br>
<a dir="ltr" href="https://lists.swift.org/mailman/listinfo/swift-evolution" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="13">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div>
</div>
</span></blockquote>
</div>
<div class="bloop_markdown">
<p></p>
</div>
<br>
<br>
</div>
</body>
</html>