Когда я запускаю этот код, который использует более высокие оценки границ:
pub trait MyTrait<'a> {
type Output: 'a;
fn gimme_value(&self) -> Self::Output;
}
pub fn meow<T: for<'a> MyTrait<'a> + 'static>(val: &T) -> T::Output {
val.gimme_value()
}
Я вижу эту ошибку:
error[E0212]: cannot extract an associated type from a higher-ranked trait bound in this context
Как я могу сделать свою функцию meow
вернуть этот связанный тип, в то же время позволяя T
быть признаком с более высоким рейтингом?