<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; margin: 0px;"><p style="margin: 0px; font-size: 11px; line-height: normal; font-family: 'Fira Code';"><span style="font-variant-ligatures: no-common-ligatures;">( /* two parameters, not a tuple */ (</span><span style="font-variant-ligatures: no-common-ligatures;">Int</span><span style="font-variant-ligatures: no-common-ligatures;">, </span><span style="font-variant-ligatures: no-common-ligatures;">Int</span><span style="font-variant-ligatures: no-common-ligatures;">) -> </span><span style="font-variant-ligatures: no-common-ligatures;">Void</span><span style="font-variant-ligatures: no-common-ligatures;">).</span><span style="font-variant-ligatures: no-common-ligatures;">self</span><span style="font-variant-ligatures: no-common-ligatures;"> == (( /* one tuple parameter */ (</span><span style="font-variant-ligatures: no-common-ligatures;">Int</span><span style="font-variant-ligatures: no-common-ligatures;">, </span><span style="font-variant-ligatures: no-common-ligatures;">Int</span><span style="font-variant-ligatures: no-common-ligatures;">)) -> </span><span style="font-variant-ligatures: no-common-ligatures;">Void</span><span style="font-variant-ligatures: no-common-ligatures;">).</span><span style="font-variant-ligatures: no-common-ligatures;">self</span><span style="font-variant-ligatures: no-common-ligatures;"> </span><span style="font-variant-ligatures: no-common-ligatures;">// BUG, which SE-0110 should have fixed, but still didn't</span></p></div> <div><br></div>Plus inlined:<div><br> <div id="bloop_sign_1496836555030362112" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>Adrian Zubarev<br>Sent with Airmail</div></div> <br><p class="airmail_on">Am 7. Juni 2017 um 13:53:08, Gwendal Roué (<a href="mailto:gwendal.roue@gmail.com">gwendal.roue@gmail.com</a>) schrieb:</p> <div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> sum1(</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">_</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">_</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> rhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">return</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> sum2(lhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, rhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">return</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> sum3(tuple: (</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">)) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">return</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> tuple.0 + tuple.1 }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> sum4(tuple: (lhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, rhs: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">)) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">return</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> tuple.lhs + tuple.rhs }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><br class=""></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 143, 0);"><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);"> </span><span class="" style="font-variant-ligatures: no-common-ligatures;">// two arguments</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> f1(</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">_</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> closure: (</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) { closure(1, 2) }</span></div></div></span></blockquote></div><p>Bug abuse:</p><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f1</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { tuple </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> tuple.0 + tuple.1 }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f1</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { (tuple) </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> tuple.0 + tuple.1 }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f1(sum3)</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f1(sum4)</span></div></div></span></blockquote><div><br></div>`f2` is no different from `f1`.</div><div><br></div><div>Bugs, which should be fixed by `((lhs, rhs)) in`:</div><div><br><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 143, 0);"><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);"> </span><span class="" style="font-variant-ligatures: no-common-ligatures;">// one tuple argument</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> f3(</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">_</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> closure: ((</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">)) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) { closure((1, 2)) }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f3</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { lhs, rhs </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f3</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { (lhs, rhs) </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div></div></span></blockquote></div><p>Not possible because ultimately the closures have different types.</p><div><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f3</span><span class="" style="font-variant-ligatures: no-common-ligatures;">(+)</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f3(sum1)</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f3(sum2)</span> </div></div></span></blockquote></div><p>Bugs, which should be fixed by `((lhs, rhs)) in`:</p><div><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 143, 0);"><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);"> </span><span class="" style="font-variant-ligatures: no-common-ligatures;">// one keyed tuple argument</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">func</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> f4(</span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">_</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> closure: ((a: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">, b: </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">)) -> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(60, 89, 167);">Int</span><span class="" style="font-variant-ligatures: no-common-ligatures;">) { closure((a: 1, b: 2)) }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f4</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { lhs, rhs </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f4</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> { (lhs, rhs) </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(129, 53, 160);">in</span><span class="" style="font-variant-ligatures: no-common-ligatures;"> lhs + rhs }</span></div></div></span></blockquote></div><p>Not possible because ultimately the closures have different types.</p><div><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> </span><span class="" style="font-variant-ligatures: no-common-ligatures; color: rgb(32, 128, 159);">f4</span><span class="" style="font-variant-ligatures: no-common-ligatures;">(+)</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f4(sum1)</span></div><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f4(sum2)</span></div></div></span></blockquote></div><p>Not sure, but I assume this shouldn’t be possible because tuple labels are part of the type and it’s a mismatch like `(lhs: Int, rhs: Int).Type != (a: Int, b: Int).Type`, therefore closures should be of different types as well.</p><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span><div class="" style="color: rgb(0, 0, 0); font-family: helvetica; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;"><span class="" style="font-variant-ligatures: no-common-ligatures;"> f4(sum4)</span></div></div></span></blockquote><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div></div></body></html>