<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div></div><div>Like some others on this list I prefer the `where` because it stands out and therefore increases readability by visually separating semantically different clauses.</div><div><br></div><div>-Thorsten&nbsp;</div><div><br>Am 31.05.2016 um 07:10 schrieb Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com">xiaodi.wu@gmail.com</a>&gt;:<br><br></div><blockquote type="cite"><div>Of course, an alternative is to eliminate `where` for all uses of `case` as well.<br><div class="gmail_quote"><div dir="ltr">On Mon, May 30, 2016 at 11:55 PM Thorsten Seitz via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
&gt; Am 29.05.2016 um 17:11 schrieb Thorsten Seitz via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;:<br>
&gt;<br>
&gt;<br>
&gt;&gt; Am 28.05.2016 um 22:35 schrieb Chris Lattner &lt;<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>&gt;:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; On May 28, 2016, at 12:07 PM, Thorsten Seitz &lt;<a href="mailto:tseitz42@icloud.com" target="_blank">tseitz42@icloud.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; What about requiring `let` before each binding and `case` before each pattern?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; guard case let x = a, case let y = b, let z = c, x == y else { … }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Now `let z = c` can only be a let-binding and not a pattern matching clause.<br>
&gt;&gt;<br>
&gt;&gt; Yes, that would be enough to solve the ambiguity.&nbsp; The problem with that is that it eliminates a commonality with var/let declarations, which can declare multiple variables.<br>
&gt;<br>
&gt; var/let declarations are sufficiently different from let-bindings IMO that this commonality could be dropped.<br>
<br>
In addition the proposal would result in eliminating a commonality of `case` clauses allowing a `where` clause everywhere except in conditional clauses which is worse.<br>
I'd much rather prefer to drop the commonality with var/let declarations!<br>
<br>
-Thorsten<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>
</div></blockquote></body></html>