<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">It comes down to a few issues:</div><div class=""><br class=""></div><div class="">1. Final exists in the language. This itself creates headaches for framework makers when their framework classes need to become “final” at a later stage. What do you do with the old subclasses in an app that shipped 5 years ago subclassing a now-final class?</div><div class=""><br class=""></div><div class="">2. Many believe that you should only subclass classes <b class="">designed</b> to be subclassed, due to safety concerns. This means that the onus should be on the developer to put it in, rather than assume it’s subclassable.</div><div class=""><br class=""></div><div class="">3. Many other developers wonder about whether that is wise when we, especially some of us iOS devs, create subclasses of classes that were not designed to be subclassed, and we view our reasons for doing so as legitimate as part of the creative process of breaking out of the assumed constraints of the standard class.</div><div class=""><br class=""></div><div class="">4. Performance improvements can be made if you know a class is final. Swift, attempting to be as performant as possible, can optimise if it knows everything in the list will be of a certain type, and can optimise further if it knows that it will be *exactly* a type, rather than potentially a subclass.</div><div class=""><br class=""></div><div class="">I think there have been a few discussed, but this is a summation.</div><div class=""><br class=""></div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On 23 Dec 2015, at 10:45 AM, Felipe Cypriano via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I could read the entire conversation because following the web archives is super unintuitive. So feel free to answer me with a bunch of links if you think my question was already answered.<div class=""><br class=""></div><div class="">Isn't this proposal solving a problem that in practice doesn't exist or isn't common enough to be worth a language level fix? I'm trying to find an example of a common problem - in any language - that would benefit by having final/sealed by default.<br class=""><div class="">
<div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="Apple-interchange-newline">---</div><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Felipe Cypriano</div></div></div></div></div></blockquote></div></body></html>