<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 Mar 26, 2017, at 7:03 PM, Slava Pestov 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"><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></blockquote><div><br></div><div>I was just thinking about these the other day. Good to know you're already thinking about them!</div><br><blockquote type="cite"><div><div><br class=""></div><div>Slava</div><br class=""></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></body></html>