<div dir="ltr">I&#39;d like to keep &quot;private&quot; to be completely private and not allow class injection to gain access, but this is an edge case that could be argued either way. I can definitely live with a pure scoped access  for consistency and don&#39;t want to argue the edge case in a never ending discussion.<div><br></div><div>I think that lexical scope is a well defined concept. The core team requested only the change in names for access levels. At this point, I&#39;d like to limit the changes to that. We already had a very long discussion about all of these topics.</div><div><br><div class="gmail_quote"><div dir="ltr">On Sun, Mar 27, 2016 at 10:19 PM Brent Royal-Gordon &lt;<a href="mailto:brent@architechies.com">brent@architechies.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; I created a pull request with the updated proposal:<br>
&gt; <a href="https://github.com/apple/swift-evolution/pull/234" rel="noreferrer" target="_blank">https://github.com/apple/swift-evolution/pull/234</a><br>
<br>
As long as you&#39;re updating the proposal, I&#39;d like to suggest you explain more explicitly the visibility of members marked with your new access level. I know I was surprised that nested types cannot see a parent type&#39;s members, and I&#39;ve seen other people in this thread who seem to believe this behaves like the classic C++/Java `private`, where extensions can see the members. I&#39;m sure you think it&#39;s fully specified, but it just seems to be a point of confusion.<br>
<br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</blockquote></div></div></div>