Use the iter().flatten().collect() method chain to convert a Vec<Vec<T>> into a single Vec<T>.
let nested: Vec<Vec<i32>> = vec![vec![1, 2], vec![3, 4], vec![5]];
let flat: Vec<i32> = nested.iter().flatten().collect();
If you own the data and want to avoid cloning, use into_iter() instead of iter() to move the inner vectors:
let nested: Vec<Vec<i32>> = vec![vec![1, 2], vec![3, 4], vec![5]];
let flat: Vec<i32> = nested.into_iter().flatten().collect();
The flatten() adapter works on any iterator of iterators, automatically extracting the inner elements into a single stream.