Also, see: https://github.com/apple/swift-evolution/blob/master/commonly_proposed.md
On Mon, Jun 13, 2016 at 11:06 PM, Xiaodi Wu <[email protected]> wrote: > This has been suggested before, I believe. The core team has weighed in > several times; it seemed like there was some disagreement amongst them > whether the current syntax is the wisest, but the concluding statement > seemed uncontroversial: "I don't think it's something we can change." > > Source: > http://article.gmane.org/gmane.comp.lang.swift.evolution/15879/ > > > On Mon, Jun 13, 2016 at 10:32 PM, Patrick Smith via swift-evolution < > [email protected]> wrote: > >> If Pyry’s suggestion remained the preferred way of unwrapping a tuple, >> could it also become the only way for unwrapping a single item? >> >> guard case let a? = opt1 { >> ... >> } >> >> Or even shortened for matching optionals only: >> >> guard let a? = opt1 { >> ... >> } >> >> Or even as has often been requested, to keep the same name: >> >> guard let opt1? { >> ... >> } >> >> Multiples: >> >> guard let (opt1?, opt2?, opt3?) { >> ... >> } >> >> guard let (a?, b?, c?) = (opt1, opt2, opt3) { >> ... >> } >> >> Sorry, not trying to derail, but it always has seemed like something >> shorter and more self explanatory could be made for optionals. `?` in >> pattern matching is a special syntax anyway, so why not make this common >> use case easier? >> >> Patrick >> >> _____________________________ >> From: Pyry Jahkola via swift-evolution <[email protected]> >> Sent: Sunday, June 12, 2016 10:04 PM >> Subject: Re: [swift-evolution] [Draft] Tuple-Based Compound Optional >> Binding >> To: Brent Royal-Gordon <[email protected]> >> Cc: swift-evolution List <[email protected]> >> >> >> >> >> On 12 Jun 2016, at 14:46, Brent Royal-Gordon via swift-evolution < >> [email protected]> wrote: >> >> guard let (a, b, c) = (opt1, opt2, opt3) else { ... } >> >> >> You mention `guard case` in the motivation, but I think for the >> uninitiated reader it would be fair to point out that the following example >> already works equivalently, with only a few extra characters: >> >> guard case let (a?, b?, c?) = (opt1, opt2, opt3) else { ... } >> >> >> Aside of that, it's yet more magic to our `if let` syntax but I don't >> mind, it would be useful at times. >> >> — Pyry >> >> >> >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >> >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
