Общие функции и протоколы в Swift 3.2 не могут определить тип - PullRequest
0 голосов
/ 28 апреля 2018

Учитывая следующее.

func doSomething<T: JSONDecodable>() -> [T] { return [] }

и конкретный тип Animal: JSONDecodable Я пытаюсь вызвать метод doSomething без указания типа Animal.

Следующие работы: let result: [Animal] = doSomething()

Следующие примеры этого не делают:

let result: [JSONDecodable] = doSomething() // Cannot convert value of type '_' to closure result 'JSONDecodables'

Запоминание типа:

let savedType = Animal.Type
let result: [savedType] = doSomething() // Use of undeclared type savedType

Любые предложения о том, как намекнуть компилятору без указания конкретного типа?

...