<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Thu, 10 Dec 2015 18:04:02 -0800, Joe Groff <<a href="mailto:jgroff@apple.com" class="">jgroff@apple.com</a>> wrote:<br class=""><br class=""><div class=""><div class=""><blockquote type="cite" class="">[...] I'd like to float the idea that protocol conformances *not be* inherited by default. If you declare a class as conforming to a protocol, only exactly that class can be bound to a type parameter constrained by that protocol [...]<br class=""></blockquote><div class=""><br class=""></div>You just blew my mind.<br class=""><br class=""><blockquote type="cite" class="">This is undoubtedly a complication of the language, but I think it might let us more accurately model a lot of things people seem to want to do in practice with class hierarchies and protocols, and it simplifies the behavior of the arguably common case where inheritance of the conformance isn't desired. What do you all think?<br class=""></blockquote><br class=""></div></div><div class="">Anything that raises the possibility of avoiding "required init(coder: NSCoder) { fatalError() }" all over my UIKit subclasses gets my support.</div><div class=""><br class=""></div><div class="">It's a bit radical, but the benefits as you've described them outweigh the costs, IMO.</div><div class=""><br class=""></div><div class="">All the best,</div><div class="">E.</div></body></html>