AI
Size: a a a
AI
AI
DS
ID
ID
DS
ID
ID
AI
AI
DS
DS
ID
DS
ID
ID
ID
DS
trait MyTrait<'a> {Ок, пишем реализацию:
type MyIter: Iterator<Item = &'a MyType>;
fn get_iter(&'a self) -> Self::MyIter;
}
impl<'a> MyTrait<'a> for MyTraitImpl {И теперь выходит, что мы не можем назвать тип, который должен идти в MyIter, из-за того, что у нас там будет Map<???, ...>, в котором надо будет указать имя типа замыкания, чего мы сделать не сможем. И соответственно так реализовать трейт тоже не сможем.
type MyIter = ???;
fn get_iter(&'a self) -> Self::MyIter {
let some_value = self.some_method(...);
self.something.iter().map(|x| some_value.wtf(x))
}
}
type MyIter = impl Iterator<...>;
DS
ID
trait MyTrait<'a> {Ок, пишем реализацию:
type MyIter: Iterator<Item = &'a MyType>;
fn get_iter(&'a self) -> Self::MyIter;
}
impl<'a> MyTrait<'a> for MyTraitImpl {И теперь выходит, что мы не можем назвать тип, который должен идти в MyIter, из-за того, что у нас там будет Map<???, ...>, в котором надо будет указать имя типа замыкания, чего мы сделать не сможем. И соответственно так реализовать трейт тоже не сможем.
type MyIter = ???;
fn get_iter(&'a self) -> Self::MyIter {
let some_value = self.some_method(...);
self.something.iter().map(|x| some_value.wtf(x))
}
}
type MyIter = impl Iterator<...>;