move_semantics1 solution

This commit is contained in:
mo8it
2024-06-21 16:16:52 +02:00
parent 6a79ada7f2
commit 946c29679e
3 changed files with 27 additions and 5 deletions
+25 -1
View File
@@ -1 +1,25 @@
// 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;
// ^^^ added
vec.push(88);
vec
}
fn main() {
// You can optionally experiment here.
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn move_semantics1() {
let vec0 = vec![22, 44, 66];
let vec1 = fill_vec(vec0);
// `vec0` can't be accessed anymore because it is moved to `fill_vec`.
assert_eq!(vec1, vec![22, 44, 66, 88]);
}
}