Ah, I’m just thinking about it in terms of too narrow a case, that makes sense! 
Put me down as a +1 for the change and solution then.

> On 2 May 2016, at 11:56, Антон Жилин <antonyzhi...@gmail.com> wrote:
> 
> Currently,
> 
> if case let x? = y { ... }
> 
> is a sugared version of:
> 
> if case let .some(x) = y { ... }
> 
> which is in turn a sugared version of:
> 
> if case .some(let x) = y { ... }
> 
> Pattern matching in `if` works like this: left hand side of `=` contains 
> supposed structure of value at right hand side.
> If we omit `case`, we get:
> 
> if let x? = y { ... }
> 
> Another example: checks if tuple contains two `.some`:
> 
> if let (x?, y?) = z { ... }
> 
> - Anton
> 
> 2016-05-02 13:25 GMT+03:00 Haravikk <swift-evolut...@haravikk.me 
> <mailto:swift-evolut...@haravikk.me>>:
> 
>> On 1 May 2016, at 09:12, Антон Жилин <antonyzhi...@gmail.com 
>> <mailto:antonyzhi...@gmail.com>> wrote:
>> 
>> Pattern binding for optionals will look like:
>> 
>> if let x? = y { … }
> 
> Would take a little getting used to, but I think I’d be fine with it, as the 
> way things are now is inconsistent with regular assignments (which remain 
> optional).
> 
> My only concern is why the question mark on the left hand side? I don’t 
> really have any concrete reason against it, but it just feels kind of odd to 
> me, I’m just hoping for some reasoning why some of the alternatives aren’t 
> better fits like:
> 
>       if let x = y? { … } // More like optional chaining, which is familiar 
> as an “if non-nil proceed” behaviour
>       if let x ?= y { … } // More obviously a special type of assignment that 
> could fail if y is nil
> 
> Again, I’m in favour, I’m just curious why the mentioned format, were others 
> considered previously, or is just because that’s how the case-keyword form 
> does it? (I don’t use it as I’ve never liked that form, and it doesn’t seem 
> that well known anyway).
> 

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to