When did `guard let foo = foo` become legal?
问题 Back in November of 2016 I posted a question asking why I couldn't use guard to create an unwrapped version of a variable using the same name as the optional, like you can with if let: Link: Why isn't guard let foo = foo valid? When I wrote that question, the code below would fail to compile with an error that "Definition conflicts with previous value": //Test of using guard to create an unwrapped version of a var, like if let func guardTest(_ viewController: UIViewController?) ->