<div dir="ltr">True, I meant why was the `?` taken out of the syntax. I suppose it can feel redundant to have `if x? = try? foo()` or similar, in the cases you mentioned. That said, in the common case of unwrapping a variable of optional type (`let foo: Int?`) which is not written with a `?`, it can add extra clarity.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 6, 2015 at 4:42 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Dec 6, 2015, at 1:38 PM, Tyler Mandry via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br>
><br>
> What isn't clear to me from Chris's or John's comments is why the `if let x? = foo` syntax was taken away. Was it for backward-compatibility?<br>
<br>
</span>FWIW, that syntax hasn’t been taken away, it just means something different now.<br>
<br>
if let x = foo() {<br>
<br>
captures is privileged syntax for testing an optional and binding to the thing inside of it. The patch I linked to moved away from this, but at great cost: it uglified lots of common code. Swift privileges optional in a number of ways (e.g. it is the result of as?, try?, etc) and the standard library uses it pervasively as well. Optimizing for that common case makes sense.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Chris<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Tyler Mandry</div>
</div>