<div dir="ltr">I like the point someone made about unit testing. If subclassing was disabled then I think there should then be some way of mocking built into the testing frameworks of swift (Think RSpec but for switt)</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 22, 2015 at 12:51 PM, Matthew Johnson via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><br><br>Sent from my iPad</div><span class=""><div><br>On Dec 22, 2015, at 3:43 AM, Tino Heth &lt;<a href="mailto:2th@gmx.de" target="_blank">2th@gmx.de</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div><br><blockquote type="cite"><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I can see why you view it this way, but access control and inheritability are orthogonal.</span></div></blockquote></div>as I understand orthogonal (mathematical background), it is definitely not the case:<div>I can&#39;t inherit what I cannot access, so there is one impossible combination of the two attributes.</div></div></blockquote><div><br></div></span>Ok, you got me there.  Orthogonal was not the best choice of words.  Nevertheless, they are independent concerns that happen to interact in this one case.<div><span class=""><br><blockquote type="cite"><div><div><br></div><div>The argumentation that &quot;users of your framework could cause trouble (what they will do anyways ;-) with overriding&quot; looses traction when you have to add &quot;of cause that only applies to classes you made explicitly accessible to them&quot;.</div><div><br></div><div>Final is right in theory, but in real software, classes are rarely designed for inheritance — it just happens (and I&#39;m quite sure most real software is build by people who would shrug of such discussions as academic nonsense ;-).</div></div></blockquote><div><br></div></span>If the time comes it is certainly a good thing if the language can remind you of the fact that you didn&#39;t consider it in the initial implementation by requiring you to mark the superclass inheritable.</div><span class=""><div><br><blockquote type="cite"><div><br></div><div>Btw: I wouldn&#39;t oppose a proposal to allow changing conventions like this (there are at least two other discussions about the best default) on a per module/file basis — as long as the &quot;local&quot; effect of the setting isn&#39;t vital, there shouldn&#39;t be a problem with customizing.</div></blockquote><br></div></span><div>I would really be opposed to this.  It would not be clear when reading code what it actually means.  Copy and paste would also be problematic for similar reasons.  Flags should not change the semantics of a piece of code.</div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=xV0JY-2FdZMnUMvSFtZnLiBPRTDDOSQf3-2FpH33HYOlBxFKyBa0JkjpX2KXCknGd-2B6WdJ1qLQdCMPnmNm12F-2FbPWzcAwHBmva51BCTTRJj3vurgPTClydlQJZExWfEFP-2FvJIxTakTSAKtMH87UTfEGN9-2BvtIJXhWe2YFjJyebsFi2ITtKmetWfZKuaR8tdR5VTYMkY1CDOdIvp-2BUgEU5ArySEEf6mSZ3hFognyaCrarjuQ-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
</div>
<br>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><span style="font-size:16px;line-height:19.2px"></span><span style="font-size:12.8px"> Wizard</span><br></div><div><a href="mailto:james@supmenow.com" target="_blank">james@supmenow.com</a></div><div>+44 7523 279 698</div></div></div></div></div></div>
</div>