我有这个简单的代码片段,它描述了一个协议和一个协议扩展,其中的方法永远不会返回(在Swift 2.x中曾经是@noreturn
):
protocol MyProtocol {
func foo() -> Never
}
extension MyProtocol {
func foo() -> Never {
print("foobar")
fatalError()
}
}
它在Swift 3中,由El Capitan上的Xcode 8.0编译。它在第6行给了我一个警告,我不明白也无法摆脱:
Test.playground:6:8: Will never be executed
我做错了什么?