Я следующий код:протокол Имея общие функции и associatedType
protocol NextType {
associatedtype Value
associatedtype NextResult
var value: Value? { get }
func next<U>(param: U) -> NextResult
}
struct Something<Value>: NextType {
var value: Value?
func next<U>(param: U) -> Something<Value> {
return Something()
}
}
Теперь проблема заключается в Something
реализации next
. Я хочу вернуть Something<U>
вместо Something<Value>
.
Но когда я это сделаю, я получил следующую ошибку.
type 'Something<Value>' does not conform to protocol 'NextType'
protocol requires nested type 'Value'