S[
но условно говоря у меня есть вектор, с векторами в которых лежат значения, я хочу достать ссылки на некоторые из них и вернуть
пишу подобную хуйню
impl<'a> Iterator for RowIter<'a> {
type Item = Vec<&'a Container>;
fn next(&mut self) -> Option<Vec<&'a Container>> {
let mut row = Vec::with_capacity(self.columns.len());
for col in &self.columns {
let cell: &'a Container = col.data.get(self.current_row)?;
row.push(cell);
}
self.current_row += 1;
Some(row)
}
}
естесна он ругается cannot infer an appropriate lifetime for borrow expression due to conflicting requirements for col in
&self.columnsну вот и в принципе о чем ошибка я понимаю, но у меня недостаток теории и я не могу понять как ему объяснить
надо бы книжки почитать
col.data.get(self.current_row)?;
если get
вернёт None
раньше времени, то цикл может закончится не сразу