<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 May 24, 2017, at 12:12 PM, Tony Parker 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=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi everyone,<div class=""><br class=""></div><div class="">We received a pull request in swift-corelibs-foundation which is apparently in response to a language change for SE-0110.</div><div class=""><br class=""></div><div class="">It turns this perfectly reasonable code:</div><div class=""><div class=""><br class=""></div><div class=""><font face="Menlo" class="">- self.forEach { (keyItem, valueItem) in</font></div><div class=""><br class=""></div><div class="">into this:</div><div class=""><br class=""></div><div class=""><br class=""><font face="Menlo" class="">+ self.forEach { (arg) in<br class="">+ let (keyItem, valueItem) = arg<br class=""></font><br class="">Is that really the design pattern we want to encourage? What was wrong with the previous code?</div></div></div></div></blockquote><br class=""></div><div>For consistency, the decision was to make closure parameter lists work the same way as function parameters. Function parameters do not allow destructuring of arguments in their declaration, so it seemed weird to let closures do that.</div><div><br class=""></div><div>Similarly, this doesn’t compile either:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>self.ForEach(functionTakingTwoParameters)</div><div><br class=""></div><div>even if the two parameters are equivalent to the element type of the self Sequence</div><div><br class=""></div><div>-Chris</div><div><br class=""></div><br class=""></body></html>