<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Apr 3, 2017, at 3:51 PM, Vladimir.S <<a href="mailto:svabox@gmail.com" class="">svabox@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" class="">Moreover, I think that we need *additional* access level(to current<br class="">'private'), which will mean 'can be accessed from extensions and subtypes<br class="">in the same *module*' to be able to split type's conformances to number<br class="">of files and don't make implementation details accessible&visible for<br class="">whole module. (there was 'extensible' modifier discussed previously).<br class=""></blockquote><br class="">If we wanted to do this, I think we'd want a `protected` modifier that was<br class="">orthogonal to `internal` and `private` (which would probably revert to<br class="">`fileprivate` semantics):<br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I don't think so, IMO it seems like over-complicated structure of access levels.</span></div></div></blockquote></div><div class=""><br class=""></div><div class="">And having:</div><div class=""><br class=""></div><div class="">1. open</div><div class="">2. public</div><div class="">3. internal</div><div class="">4. Whatever your new "internal but type-only" access level would be called</div><div class="">5. fileprivate</div><div class="">6. private</div><div class=""> </div><div class="">Is *not* overcomplicated? At that point, it's much simpler to think of it as four access levels + type-only or all-types.</div><div class=""><br class=""></div><div class="">Again, I'm not saying such a design is *good*. I'm saying it's *better than six access levels*.</div><br class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class=""><div style="font-size: 12px; " class="">-- </div><div style="font-size: 12px; " class="">Brent Royal-Gordon</div><div style="font-size: 12px; " class="">Architechies</div></div></span>
</div>
<br class=""></body></html>