У меня есть тип, который я пытаюсь специально расширить: AnyObserver<[MyModel]>
. Было бы легко расширить, если бы я не передавал массив как Element
, что я могу сделать примерно так:
extension AnyObserver where Element: MyModel {...}
Однако на самом деле Element
— это массив, поэтому я попытался сделать что-то вроде одного из следующих:
extension AnyObserver where Element: Array<MyModel> {...}
extension AnyObserver where Element: Array<T: MyModel> {...}
extension AnyObserver where Element == Array<MyModel> {...}
extension AnyObserver where Element == [MyModel] {...}
Это приводит к ошибкам компиляции, таким как:
Same-type requirement makes generic parameter non-generic
Type 'Element' constrained to non-protocol type
Как правильно создать расширение для этого случая?