параметра дженерик трейтом параметризованого конкретным типом.
Как сделать тот код компилируемым, компилятор подсказывает и так, нужно добавить констрейт на ассоциированый тип. (Офигеть, так можно!)
fn some_start<O: Observers<MyCore>>(o: O)
where O::Start: Start<u32> {
}
Вопрос в том, почему это обязательно?
В каком случае может получится, что асоциированый тип не имплементит этот тип, если он привязан к параметру типа, которым мы параметризуем трейт?
Вообще как-то очень странно что это требуется, по идее наоборот должно выводиться 🤔
Обсуждают сегодня