[swift-evolution] Proposal: Optional Binding Shorthand Syntax

Chris Lattner clattner at apple.com
Sun Dec 6 16:42:37 CST 2015

> On Dec 6, 2015, at 1:38 PM, Tyler Mandry via swift-evolution <swift-evolution at swift.org> wrote:
> 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? 

FWIW, that syntax hasn’t been taken away, it just means something different now.

	if let x = foo() {

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.


More information about the swift-evolution mailing list