У меня есть функция, которая принимает общие коллекции.Передача данных в функцию, которая принимает общий набор
func foo<T: BidirectionalCollection>(_ bar: T)
where T.Iterator.Element == UInt8,
T.SubSequence: BidirectionalCollection & RangeReplaceableCollection,
T.SubSequence.Iterator.Element == UInt8,
T.SubSequence.Index == T.Index,
T.SubSequence.SubSequence == T.SubSequence
{
//
}
Я хочу, чтобы вызвать эту функцию с Data
, как T:
foo(Data())
Однако это дает ошибку:
error: generic parameter 'T' could not be inferred
Что здесь происходит? Как правильно вызвать функцию с помощью экземпляра Data
?
Это работает, если я прохожу '[Uint8]' вместо 'Data'. Как все иначе? – Etan