Поскольку Swift является открытым исходным кодом, из реализации contains
видно, что он выполняет итерацию по последовательности до тех пор, пока не найдет элемент, соответствующий предикату, в этом случае он вернет true и что он вернет false, если он достигает конца последовательности перед тем, как найти соответствующий элемент:
public func contains(
where predicate: (Element) throws -> Bool
) rethrows -> Bool {
for e in self {
if try predicate(e) {
return true
}
}
return false
}