Использование Self в качестве требования протокола связанного типа в классе - PullRequest
0 голосов
/ 17 мая 2019

Это мой код:

protocol Jard {
    // Every Jard should have a food type refers to its own type
    associatedtype FoodType: Food<Self>
}

class LittleJard: Jard {
    // JardFood == Food<LittleJard> why does this not work?
    typealias FoodType = JardFood
}

class Food<AnyFood> {

}

class JardFood: Food<LittleJard> {

}

Ошибка компиляции:

Тип 'LittleJard' не соответствует протоколу 'Jard'

Почему это так?Из того, что я вижу, JardFood удовлетворяет требованию FoodType в LittleJard.

...