<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Sent from my iPad</div><div><br>On Apr 27, 2016, at 3:08 PM, Jérôme ALVES via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>What if... </div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature"><b>FooBar.framework defines :</b></div><div id="AppleMailSignature"><div class=""><span style="background-color: rgba(255, 255, 255, 0);">public protocol A {</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);"> func foo()</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);">}</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);">public type B: A {</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);"> public func foo () { </span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);"> … implementation … </span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);"> }</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);">}</span></div><div><br></div><div><b>Other module defines :</b></div><div>import FooBar</div><div><div class=""><span style="background-color: rgba(255, 255, 255, 0);">extension A {</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);"> func foo() { .. default implementation … }</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);">}</span></div></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div></div></div></blockquote><div><br></div>This is a good example. More generally, we should be sure that any change we make here does not interfere with retroactive modeling.<div><br><blockquote type="cite"><div><div id="AppleMailSignature"><br>Jérôme </div><div><br>Le 27 avr. 2016 à 19:10, Erica Sadun via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> a écrit :<br><br></div><blockquote type="cite"><div class="">protocol A {</div><div class=""> func foo()</div><div class="">}</div><div class=""><br class=""></div><div class="">extension A {</div><div class=""> func foo() { .. default implementation … }</div><div class="">}</div><div class=""><br class=""></div><div class="">type B: A {</div><div class=""><br class=""></div><div class=""> override required func foo () { … overrides implementation … }</div><div class="">}</div><div class=""></div></blockquote></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></div></body></html>