infix operator |||
protocol OperatorRequired{
static func ||| (lhs: Self, rhs: Self) -> Bool
}
class AdoptingClass: OperatorRequired{
}
func ||| (lhs: AdoptingClass, rhs: AdoptingClass) -> Bool{
return true
}
尽管类本身不符合协议,但是上面的代码可以编译。为什么?!
这是Xcode9.4的
似乎Xcode在这里非常聪明,好像协议见证表不是在类级别检查的,而是在全局级别检查的。