Iterator::chain()
Соединяет два итератора последовательно.
Сигнатура
fn chain<U: IntoIterator>(self, other: U) -> Chain<Self, U::IntoIter>Создаёт итератор, который сначала проходит по первому итератору, затем продолжает вторым.
let a = vec![1, 2];
let b = vec![3, 4];
let r: Vec<i32> = a.into_iter().chain(b).collect();
println!("{:?}", r); // [1, 2, 3, 4]