When upgrading my xcode from 8.0 to 8.1 and Swift to 3.0.1, I found that I can no longer compare type with implicitly unwrapped optional in a switch statement. I need to explicitly unwrap the optional
// this no longer works let a: String! = "asd" let b: String = "asd" switch a { case b: // error: expression pattern of type 'String' cannot match values of type 'String!' break default: break }