<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="">+1, but<div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><b class="">Expand the scope of “if” and “while” statements</b></div></div></div></blockquote><br class=""></div><div>+2 for this. At least a dozen times I've been beaten by changing</div><div><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div>let foo = bar.map { ...}&nbsp;</div></div></blockquote><div class=""><br class=""></div>into<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">if let foo = bar.map { ...} {</div><div class="">&nbsp; &nbsp; ...</div><div class="">}</div></blockquote><div class=""><div class=""><br class=""></div></div><div class="">only to find myself with a compiler error (because my brain just doesn't register this transformation as invalid).</div><div class=""><br class=""></div><div class="">I would be fine with limiting such a call to a single line, because a multiline scenario looks crazy anyway. I would also be fine with disallowing single-line IFs in this case, because, again, they look crazy. Those two limitations would allow unambiguous parsing in all cases.</div><div class=""><br class=""></div><div class="">And yay for unbounded lookahead and heroics. We should use all that RAM and CPUs for something, after all.</div><div class=""><br class=""></div><div class="">A.</div><div class=""><br class=""></div></body></html>