<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On 28 Jul 2017, at 17:19, Kwanghoon Choi via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello<br class=""><br class="">I found someone easy mistake using for in loop statement.<br class=""><br class="">Ex)<br class="">var i = 0<br class="">for i in 0..&lt;10 { }<br class="">print(i)<br class=""><br class="">And this user expected print(i) is “10”<br class=""></div></div></blockquote><div><br class=""></div><div>The variable shadows any reference in the loop; and in addition, it's a constant value.</div><div><br class=""></div><div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #a9a9a9" class="">1&gt;&nbsp;</span><span style="font-variant-ligatures: no-common-ligatures" class="">for i in 0..&lt;10 { i+=1 }&nbsp;</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">error: repl.swift:7:20: error: left side of mutating operator isn't mutable: 'i' is a 'let' constant</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">for i in 0..&lt;10 { i+=1 }</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ~^</span></div></div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class="">Many experienced swift developers doesn’t misunderstand like this. But always someone is new comers, and I think this expression make misunderstand easy too.<br class=""><br class="">So why not like this?<br class=""><br class="">var I = 0<br class="">for 0..&lt;10 { (i) in … }<br class=""></div></div></blockquote><div><br class=""></div>You can already do this:</div><div><br class=""></div><div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">2&gt; (0..&lt;10).forEach { i in print(i) }&nbsp;</span></div><div><br class=""></div><div>Alex</div></div></body></html>