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

4

0 回答 0