move_semantics2 solution

This commit is contained in:
mo8it
2024-06-21 17:02:50 +02:00
parent 946c29679e
commit 68142aff7f
3 changed files with 35 additions and 14 deletions
+28 -1
View File
@@ -1 +1,28 @@
// Solutions will be available before the stable release. Thank you for testing the beta version 🥰
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
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]);
}
}