I agree with that. I believe I have more often run into name collisions for protocols with differing semantics then matching semantics. Actually far more often then both I have purposely used somewhat contrived naming in protocols to avoid collisions, if that can be avoided by leveraging the implicit namespacing that exists in the protocol&#39;s name; it would be nice language feature IMHO.<br><div class="gmail_quote"><div dir="ltr">On Tue, Sep 27, 2016 at 7:51 AM Dave Abrahams via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
on Tue Sep 27 2016, Thorsten Seitz &lt;tseitz42-AT-icloud.com&gt; wrote:<br>
<br>
&gt; While this solves the problem of overlapping names with different<br>
&gt; semantics, how would you express the case where the names actually<br>
&gt; have the same semantics, so that you only want to have one<br>
&gt; implementor?<br>
&gt;<br>
&gt; protocol A {<br>
&gt;       func specficSemantics()<br>
&gt;       func sameSemantics()<br>
&gt; }<br>
&gt;<br>
&gt; protocol B {<br>
&gt;       func specficSemantics()<br>
&gt;       func sameSemantics()<br>
&gt; }<br>
&gt;<br>
&gt; struct C : A, B {<br>
&gt;       // these implementations have to be specific for A and B so Karl’s approach allows to differentiate them<br>
&gt;       func A.specficSemantics() { … }<br>
&gt;       func B.specficSemantics() { … }<br>
&gt;<br>
&gt;       // this implementation should be shared by A and B because both share the same semantic here<br>
&gt;       func sameSemantics() { … } // ??<br>
&gt;<br>
&gt;       // would I have to write it like that (manual delegation to the shared implementation)?<br>
&gt;       func sameSemantics() { … }<br>
&gt;       func A.sameSemantics() { sameSemantics() }<br>
&gt;       func B.sameSemantics() { sameSemantics() }<br>
&gt; }<br>
&gt;<br>
&gt; -Thorsten<br>
<br>
The cases where you find these kinds of exact collisions are so rare (never in my<br>
career) that it&#39;s fine if some manual work is needed.<br>
<br>
--<br>
-Dave<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>