<html><head><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:nth-child(2n) {
background-color: #f8f8f8; }
.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 {
-webkit-margin-before: 0;
}
code, pre, #ws, #message {
font-family: Menlo, Consolas, Liberation Mono, Courier, monospace;
}
.send { color:#77bb77; }
.server { color:#7799bb; }
.error { color:#AA0000; }</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="bloop_markdown"><p>You haven’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>>>file<<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">private
private(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’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’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; color: rgba(0,0,0,1.0); 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">-- <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>
<title></title>
<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. </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 (also in
separate files) and be able to restrict the access of
appropriate properties and 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>swift-evolution@swift.org<br>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div></div></span></blockquote></div><div class="bloop_markdown"><p></p></div></body></html>