некий итератор который бы проходил по первому а потом по второму чтобы передать его в функцию. таким образом я бы избежал копирования. такое в расте делается? или лучше передать скажем [vec, vec] и потом его зафлетить через map/flatten?
можно и [v0, v1].into_iter().flatten(), но для двух лучше наверное chain
непонятно как передать итератор в функцию let it = a[chunk_index_x].iter().chain(b[chunk_index_y].iter()); g(it); fn g<I: Iterator>(it: I) { for i in it { println!("{:?}, ", i); } } так не работает -- говорит что не умеет печатать итетора
Можно анонимно передать как iter: impl Iterator<Item>. В токио такое видел, там AsRef<Path> так передают
where I::Item: Debug или I: Iterator<Item = u32>
impl Iterator<Item = ...>
Обсуждают сегодня