<div dir="ltr">On Mon, Dec 7, 2015 at 2:21 PM, Kevin Lundberg via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><div><span style="background-color:rgba(255,255,255,0)">I can appreciate the desire for this, but I would not support it personally. In a former life developing C# code where this is the default behavior, I wanted to extend a class&#39;s behavior to make it work slightly differently, but since everything is final by default (sealed in C# parlance) I was prevented from doing so. The scope of my change was minimal and well defined, and it would not have negatively impacted the extending class&#39;s normal behavior. The code I was extending was open source so i ended up having to copy and paste the class and its dependencies into my project to do what I wanted. If I couldn&#39;t have done that then I&#39;m not sure what the right approach would have been. </span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><span style="background-color:rgba(255,255,255,0)">In short, it is not always possible to know ahead of time how your clients will want to extend your API&#39;s functionality; artificially limiting this in my opinion will make it much harder to reuse components in previously unforeseen ways.</span></div></div></div></blockquote><div><br></div><div>Was subclassing always necessary for extending this functionality? Could you accomplish the same using extensions?</div><div><br></div><div>Stephen </div></div></div></div>