rustlings/exercises/move_semantics/move_semantics2.rs
2023-10-11 12:47:15 +01:00

30 lines
661 B
Rust

// move_semantics2.rs
//
// Make the test pass by finding a way to keep both Vecs separate!
//
// Execute `rustlings hint move_semantics2` or use the `hint` watch subcommand
// for a hint.
#[test]
fn main() {
let vec0 = vec![22, 44, 66];
println!("{} has length {}, with contents: `{:?}`", "vec0", vec0.len(), &vec0);
let mut vec1 = fill_vec(&vec0);
vec1.push(88);
println!("{} has length {}, with contents `{:?}`", "vec1", vec1.len(), vec1);
assert_eq!(vec0, vec![22, 44, 66]);
assert_eq!(vec1, vec![22, 44, 66, 88]);
}
fn fill_vec(vec: &Vec<i32>) -> Vec<i32> {
let mut vec = vec.clone();
// vec.push(88);
vec
}