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 < swift-evolution@swift.org> 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 <swift-evolution@swift.org> > Sent: Sunday, June 12, 2016 10:04 PM > Subject: Re: [swift-evolution] [Draft] Tuple-Based Compound Optional > Binding > To: Brent Royal-Gordon <br...@architechies.com> > Cc: swift-evolution List <swift-evolution@swift.org> > > > > > On 12 Jun 2016, at 14:46, Brent Royal-Gordon via swift-evolution < > swift-evolution@swift.org> 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 > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution > >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution