That starts to look an awful lot like a fifth access level just for classes (I know you're not proposing one, but it could start to look that way to a user). I think there's much to be said for having the word public in front of things that are public. Unless, of course, your strawman keyword is a much maligned compound word that begins with "public", like "publicoverridable".<br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 1, 2016 at 01:54 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">> If we're going to go along those lines, we should just use public(subclassable) and public(overridable). We can fall back on those if necessary; I would just like to continue looking for better alternatives.<br>
<br>
I would prefer to have a *single* keyword which meant both public and overridable. That would minimize the impact of this feature—instead of writing:<br>
<br>
public class MyViewController: UIViewController {<br>
public func displayMe(_ me: person) { … }<br>
}<br>
<br>
You'd write (strawman keyword):<br>
<br>
openseason class MyViewController: UIViewController {<br>
openseason func displayMe(_ me: person) { … }<br>
}<br>
<br>
And then `MyViewController` could be subclassed, and `displayMe` overridden.<br>
<br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</blockquote></div>