<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 26, 2017, at 11:12 AM, Karl Wagner via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</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="">I’d like to pitch the following two language changes. Both of them are technically possible today if you manually write thunks for the relevant protocol requirements, but it would be nice if we allowed them to be written directly:<div class=""><br class=""></div><div class="">1) Allow closures to satisfy function requirements in protocols</div></div></div></blockquote><div><br class=""></div>I have mixed feelings about this one because of the argument labels issue.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><br class=""></div></blockquote>2) Allow functions with default parameters to satisfy function requirements in protocols<div class=""></div></div><br class=""></div></blockquote><br class=""></div><div>This would be an excellent improvement. I don’t think it needs an SE proposal, it is “obvious” how it would work.</div><div><br class=""></div><div>I would also add the following for full generality:</div><div><br class=""></div><div>3) Allow enum cases without payloads to satisfy static read-only property requirements</div><div>4) Allow enum cases with payloads to satisfy static method requirements</div><div><br class=""></div><div>Slava</div><br class=""></body></html>