<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><br class=""><blockquote type="cite" class="">On Nov 10, 2017, at 12:16 PM, Goffredo Marocchi <<a href="mailto:panajev@gmail.com" class="">panajev@gmail.com</a>> wrote:<br class=""><br class=""><br class="">Sent from my iPhone<br class=""><br class=""><blockquote type="cite" class="">On 10 Nov 2017, at 19:42, Joe Groff via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class="">Through great pain and community anguish, we pushed ourselves to a model where argument labels are parts of the declaration name, not part of the call argument<br class=""></blockquote><br class="">Hey Joe, does this mean it is likely there is little to no chance to have argument labels for closures and stored functions back? Sorry to bring noise in here, but your words put a grim outlook on something the core team said it would be revisited last year in the next Swift iteration.<br class=""></blockquote><br class=""><div class="">Not at all. The idea for closure labels is that the labels would still be part of the name, but that you could give compound names to closure variables in addition to named functions. That would let you write something like:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">let foo(bar:) : (Int) -> String = { "\($0)" }</div><div class="">foo(bar: 0)</div></blockquote><div class=""><br class=""></div><div class="">Or, with a bit more sugar:</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>let foo : (bar: Int) -> String = { "\($0)" } // Notationally, we write the labels with the type, but they become part of the 'let' name</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>foo(bar: 0)</div><div class=""><br class=""></div><div class="">-Joe</div></body></html>