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@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution