On Wed, Dec 23, 2015, at 03:35 PM, Joe Groff via swift-evolution wrote:
> A slight generalization would be to allow for an arbitrary pattern in the
> `else` clause:
>
> guard case let .Succeed(m) = returnsResult() else case let .Failure(r) {
> return r
> }
>
> with the requirement that the "guard" and "else" patterns form an exhaustive
> match when taken together. That feels nicer than special-case knowledge of
> two-case enums, though I admit it punishes what's likely to be a common case.
Cute, but it seems a little confusing. Personally, I'd rather just stick with a
normal switch in cases like that:
let m: MyType
switch returnsResult() {
case let .Succeed(m_): m = m_
case let .Failure(r): return r
}
-Kevin
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution