<div dir="ltr">There is not.<div><br></div><div>At some point in the future, I believe the plan is to eventually allow default implementations to be written in-line within the protocol declaration itself. In other words, the fact that default implementations currently must appear in extensions, is a temporary limitation that has not yet been a priority to address.</div><div><br></div><div>Once we gain the ability to define default implementations within protocols themselves, rather than extensions, then your use-case will “just work” (at least as long as you control the protocol anyway). I wouldn’t hold my breath though, as that behavior will not appear this year, and the plans for next year have not been hashed out yet.</div><div><br></div><div>Nevin</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 16, 2017 at 11:53 AM, Johannes Weiss via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi swift-users,<br>
<br>
Is there anything like the `override` keyword for making sure that default implementations in protocols are not adding a new function?<br>
<br>
An example would be the following:<br>
<br>
    protocol FooProto {<br>
        func foo()<br>
    }<br>
<br>
    extension FooProto {<br>
        func foo() { /* &lt;-- can I mark this as being a default implementation */<br>
            print(&quot;foo default&quot;)<br>
        }<br>
    }<br>
<br>
Right now, there&#39;s a `func foo()` default implementation for `FooProto` but if later of `foo` gets refactored to `bar`, we lose the default implementation which can lead to problems.<br>
<br>
Is there anything in Swift (like the `override` keyword) that allows me to say this is a default implementation and not a new method?<br>
<br>
Thanks,<br>
  Johannes<br>
______________________________<wbr>_________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-users</a><br>
</blockquote></div><br></div>