rustlings/exercises/06_move_semantics/move_semantics2.rs

29 lines
525 B
Rust
Raw Normal View History

fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
let mut vec = vec;
vec.push(88);
vec
}
2024-04-18 00:34:27 +03:00
fn main() {
// You can optionally experiment here.
}
#[cfg(test)]
mod tests {
use super::*;
2024-06-21 18:02:50 +03:00
// TODO: Make both vectors `vec0` and `vec1` accessible at the same time to
// fix the compiler error in the test.
2024-04-18 00:34:27 +03:00
#[test]
fn move_semantics2() {
let vec0 = vec![22, 44, 66];
let vec1 = fill_vec(vec0);
2024-06-21 18:02:50 +03:00
assert_eq!(vec0, [22, 44, 66]);
assert_eq!(vec1, [22, 44, 66, 88]);
2024-04-18 00:34:27 +03:00
}
}