Ошибка сегментации 11 для именования функций в расширении протокола
Проблема действительно проста. Это вызывает ошибку сегментации:
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (T) -> R, completion: @escaping ([R]) -> ()) where Iterator.Element == T {
}
}
Очевидно, я больше не знаю, как написать расширение протокола. Кто-нибудь, помогите, пожалуйста?:)
1 ответ
Ошибка заключалась в том, что я подумал, что мне нужен универсальный тип T. Поскольку это был просто Iterator.Element, который, к счастью, является типом в протоколе Sequence.
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (Iterator.Element) -> R, completion: @escaping ([R]) -> ()) {
}
}
Престижность любому, кто может объяснить, почему компилятору это не понравилось. Это явно неэффективно, но почему это должно быть неправильно?