Это ошибка SR-7275 (на самом деле регрессия). Это должно быть уже исправлено в Xcode 9.3.1.
Просто удалите Iterator
из предложения where
:
extension Sequence where Element: AnyObject {
func containsObjectIdentical(to object: AnyObject) -> Bool {
return contains { $0 === object }
}
}
Хотя Self.Element
и Self.Iterator.Element
для Sequence
одинаковы, кажется, что компилятор не может видеть транзитивное равенство.
Кроме того, вы можете подумать о том, чтобы сделать тип метода безопасным, и сравнивать его только с объектами типа Element
:
extension Sequence where Element: AnyObject {
func containsObjectIdentical(to object: Element) -> Bool {
return contains { $0 === object }
}
}