Swift: расширение последовательностей с помощью общего элемента

В Swift можно расширить последовательность, содержащую элементы определенного типа, например:

extension SequenceType where Generator.Element == Rect {
  func intersection() -> Rect? { ... }
}

// when using
let intersection = [rect1, rect2, rect3].intersection()

что приятно. Однако как я могу сделать то же самое, если сам Rect является универсальным типом (например, Rect<Float>, Rect<Double> и т. д.)? Я старался

extension SequenceType where Generator.Element == Rect<T>

но компилятор жалуется на «необъявленный тип T». Я не могу понять, куда его поставить. Прямо сейчас я должен специализироваться на каждом типе с плавающей запятой.


person MrMobster    schedule 05.04.2016    source источник
comment
Это выглядит очень похоже: протокол, в котором общий тип в swift требует аргументов в "> stackoverflow.com/questions/33357346/.   -  person Martin R    schedule 05.04.2016
comment
Спасибо за ссылку! Должно быть, это одна из тех системных особенностей типа NYI.   -  person MrMobster    schedule 05.04.2016