Use drain to remove specified range from a vector.
1
2
3
4
5
let mut a = vec![1,2,3,4,5];
let _ = a.drain(0..3);
assert!(a == vec![4,5]);
What is the difference to call into_iter which returns T ?
into_iter takes the collection by value and consumes it.
drain borrows mutable reference, and returns a drain iterator of elements. If such iterator is dropped without exhausting it, all elements are dropped.