<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 29, 2016, at 3:18 PM, Thorsten Seitz <<a href="mailto:tseitz42@icloud.com" class="">tseitz42@icloud.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">Am 29.04.2016 um 19:51 schrieb Xiaodi Wu <<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class="">Yes, certainly this works today. The motivation for Erica's question is that this would not work without modifying the third-party code if keywords were required to indicate implementation of protocol requirements.<br class=""></div></blockquote><div class=""><br class=""></div></div><div class="">If I understood the motivation correctly, the requirements should protect against typos where I planned to *replace* a method but due to a typo instead created a new method and inherited the default (or superclass) implementation.</div></div></div></blockquote></div><br class=""><div class="">extension A where !x:B {<br class=""> ....</div><div class="">}</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">then conforming a type to A and B would exclude the type from inheriting the extension.</div><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""></div></body></html>