<div dir="ltr">I'd like to keep "private" 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'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'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 <<a href="mailto:brent@architechies.com">brent@architechies.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> I created a pull request with the updated proposal:<br>
> <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're updating the proposal, I'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's members, and I'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'm sure you think it'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>