<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I found that for Sequence, but Sequence is far from the only protocol with default implementations, and not all of them have maintainers willing to write and update documentation to the degree that Apple will.<div class=""><br class=""></div><div class="">Félix<br class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">Le 14 sept. 2017 à 15:10, Kyle Murray <<a href="mailto:kyle_murray@apple.com" class="">kyle_murray@apple.com</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">However, I find that I'm having trouble figuring out what I get for free when I implement a protocol. In principle, I like conditional conformances and synthesized implementation of protocol methods, but I find that they both make it harder to figure out what I need to implement, and what are going to be the performance characteristics of methods that I choose to not implement.</span></div></blockquote></div><br class=""><div class=""><br class=""></div><div class="">If you're thinking specifically about the standard library, the documentation for protocols like Sequence shows whether a member is required, and whether it provides a default implementation.</div><div class=""><br class=""></div><div class=""><a href="https://developer.apple.com/documentation/swift/sequence#2923865" class="">https://developer.apple.com/documentation/swift/sequence#2923865</a></div><div class=""><br class=""></div><div class="">Have you noticed that before, or is it still tricky to find requirements given the presentation?</div><div class=""><br class=""></div><div class="">-Kyle</div></div></div></blockquote></div><br class=""></div></div></body></html>