Error
是一种协议,一个人能够做到这一点……
let x: Result<Void, Error> = .success(())
ShadowError
符合Error
,也是一种协议,但人们无法做到这一点……
protocol ShadowError: Error {}
let x: Result<Void, ShadowError> = .success(()) // FAILS 类型""Any ShadowError""不符合Error
因为编译器会抱怨此错误
类型""Any ShadowError""不符合Error
结果失败类型是否为ShadowError
(或其他protocol
)?