fn fill_vec(vec: Vec) -> Vec { let mut vec = vec; vec.push(88); vec } fn main() { // You can optionally experiment here. } #[cfg(test)] mod tests { use super::*; #[test] fn move_semantics2() { let vec0 = vec![22, 44, 66]; // Cloning `vec0` so that the clone is moved into `fill_vec`, not `vec0` // itself. let vec1 = fill_vec(vec0.clone()); assert_eq!(vec0, [22, 44, 66]); assert_eq!(vec1, [22, 44, 66, 88]); } }