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
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution