Код работает, только если T
ограничен Sequence
, потому что только последовательности имеют тип Element
.
И вам нужно добавить .self
после Element
func foo<T>(type: T.Type) where T: Decodable, T : Sequence {
print(type)
print(type.Element.self)
}
И если вы хотите декодировать этот тип, вы должны ограничить Element
Decodable
, тоже
... where T: Decodable, T : Sequence, T.Element : Decodable