<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=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On 27 Mar 2016, at 19:34, Jose Cheyo Jimenez via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><div class=""><div dir="auto" class=""><div class=""><br class=""></div><div class="">Public </div><div class="">External (default)</div><div class="">Internal</div><div class="">Private</div></div></div></blockquote><br class=""></div><div>I still feel like these are still too vague; I’m not sure I like the use of external, as public to me is external since it exports outside of the module, whereas what you’re proposing is in fact just limited to the module itself. I dislike the current internal keyword too, but at least it reads as “internal to this module", this is why the more specific terms are better like:</div></div><div><br class=""></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>public<span class="Apple-tab-span" style="white-space:pre">                                </span>as-is, item is public/exported outside of module</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>private(module) or private<span class="Apple-tab-span" style="white-space:pre">        </span>current internal, item is private to this module, would be the default</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>private(file)<span class="Apple-tab-span" style="white-space:pre">                        </span>current private, item is private to this file</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>private(scope)<span class="Apple-tab-span" style="white-space:pre">                        </span>new visibility type, item is private to the current scope</font></div><div><br class=""></div><div>Assuming I’m understanding the restriction properly this time =)</div><div><br class=""></div><div>It’s also the easiest method if we do add another visibility later for sub-classes such as private(type), as it doesn’t even require a new keyword.</div></body></html>