<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 8, 2016 at 1:51 PM, Jacob Bandes-Storch <span dir="ltr">&lt;<a href="mailto:jtbandes@gmail.com" target="_blank">jtbandes@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Wed, Jun 8, 2016 at 1:38 AM, Haravikk via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div>I’m not sure I agree that this is confusing, a little extra to learn for new programmers perhaps but I think it’s fairly intuitive:</div><div><br></div><div><font face="Monaco"><span style="white-space:pre-wrap">        </span>while let value = foo.next() where someCondition(value) { … }</font></div><div><br></div><div>This reads to me as “repeat the following block until this fails to be true”, the conditional binding in this case fails to be true if someCondition(value) isn’t true, so the loop ends. I think the key thing here is that the where clause is for the conditional binding and not the loop itself, so in this respect it behaves exactly like an if or guard statement.</div></div></div></blockquote><div><br></div></span><div>So, I think it might be much clearer if, similarly to how there&#39;s a discussion about unifying &quot;where&quot; vs. &quot;comma&quot; conditions in guard/if, we could do the same here. </div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>    while let value = foo.next(), let something = value.property, something == 4 { ... }</div><div><br></div><div>(Apologies if this has been said; I haven&#39;t followed the whole thread closely.)</div></div></div></div></blockquote><div><br></div><div>That&#39;s actually also a part of what&#39;s proposed in SE-0099. </div></div><br></div></div>