<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="">Le 11 janv. 2016 à 21:39, Douglas Gregor <<a href="mailto:dgregor@apple.com" class="">dgregor@apple.com</a>> a écrit :</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=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jan 11, 2016, at 12:24 PM, David Scrève <<a href="mailto:david.screve@dlta-studio.com" class="">david.screve@dlta-studio.com</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=""><div class=""><br class="">
</div>
<br class=""><div class=""><blockquote type="cite" class=""><div class="">Le 11 janv. 2016 à 18:20, Douglas Gregor <<a href="mailto:dgregor@apple.com" class="">dgregor@apple.com</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" class=""><div class=""><br class=""></div><div class=""><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"> <span class="Apple-converted-space"> </span><span class="" style="color: rgb(187, 44, 162);">var</span><span class="Apple-converted-space"> </span>loadPerson:(() -><span class="Apple-converted-space"> </span><span class="" style="color: rgb(79, 129, 135);">Person</span>)? {</div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"> <span class="Apple-converted-space"> </span><span class="" style="color: rgb(187, 44, 162);">return</span><span class="Apple-converted-space"> </span>{<span class="Apple-converted-space"> </span><span class="" style="color: rgb(187, 44, 162);">return</span><span class="Apple-converted-space"> </span><span class="" style="color: rgb(79, 129, 135);">Person</span>(name:<span class="Apple-converted-space"> </span><span class="" style="color: rgb(209, 47, 27);">"Scrève"</span>, surname:<span class="Apple-converted-space"> </span><span class="" style="color: rgb(209, 47, 27);">"David"</span>)}</div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"> }</div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;">}</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>Double returns is quite complex to write and understand..but I agree this problem can be solved like this.</div></div></div></blockquote><div class=""><br class=""></div><div class="">Right. One could extend the language with a rule that allows a method to satisfy a read-only property requirement when that property is of (possibly optional) function type.</div></div></div></blockquote><span class="Apple-tab-span" style="white-space:pre">        </span>Yes, this could be a really good solution…Should I post a proposal for that ?</div></div></div></blockquote><div class=""><br class=""></div><div class="">If you want to tackle the larger proposal of “remove optional requirements” and the various pieces required to make that happen, sure. One issue I haven’t thought about much is how to deal with the argument labels when performing this transformation, because we cannot overload properties. For example, importing UITableViewDataSource would end up with several dozen things named “tableview” :)</div></div></div></div></blockquote></div><br class=""><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>Hum…not sure to have enough experience with Swift right now…But I’ll think about it :-)</div><div class=""><br class=""></div><div class="">David</div><div class=""><br class=""></div></body></html>