全局名称空间的一致性如何满足协议要求?

时间:2018-08-22 20:30:01

标签: swift operator-overloading protocols adapter infix-operator

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在这里非常聪明,好像协议见证表不是在类级别检查的,而是在全局级别检查的。

0 个答案:

没有答案