[swift-evolution] switch must be exhaustive, consider adding a default clause
Josh Parmenter
jparmenter at vectorform.com
Mon Apr 10 11:18:56 CDT 2017
case .none isn’t handled.
This should probably be on the swift-users list though, no?
Best,
Josh
On Apr 8, 2017, at 11:29 AM, Drew Crawford via swift-evolution <swift-evolution at swift.org<mailto:swift-evolution at swift.org>> wrote:
Is there a good reason we do not compile this:
import UIKit
func foo(operation: UINavigationControllerOperation) {
switch(operation) {
case .push: /* snip */ break
case .pop: /* snip */ break
default:
preconditionFailure("This is a silly operation")
}
switch(operation) {
case .push: /* snip */ break
case .pop: /* snip */ break
//error: Switch must be exhaustive, consider adding a default clause
}
}
The switch *is* exhaustive, because the default case is unreachable. The compiler could infer as much from branch analysis.
_______________________________________________
swift-evolution mailing list
swift-evolution at swift.org<mailto:swift-evolution at swift.org>
https://lists.swift.org/mailman/listinfo/swift-evolution
Joshua Parmenter | Engineering Lead, Apple Technologies
T 248 777 7777
C 206 437 1551
F 248 616 1980
www.vectorform.com<http://www.vectorform.com/>
Vectorform
2107 Elliott Ave Suite 303
Seattle, WA 98121 USA
Think Tank. Lab. Studio.
We invent digital products and experiences.
SEATTLE | DETROIT | NEW YORK | MUNICH | HYDERABAD
More information about the swift-evolution
mailing list