rustlings/exercises/move_semantics/move_semantics4.rs
OllyDS c2a01888e1 Completed first 8 tasks and first quiz.
Some more reading required on the following:

- `move_semantics` aka ownership and borrowing.
- `enums` especially using with match expressions.
2022-07-26 22:51:53 +01:00

27 lines
693 B
Rust

// move_semantics4.rs
// Refactor this code so that instead of passing `vec0` into the `fill_vec` function,
// the Vector gets created in the function itself and passed back to the main
// function.
// Execute `rustlings hint move_semantics4` or use the `hint` watch subcommand for a hint.
fn main() {
let mut vec1 = fill_vec();
println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1);
vec1.push(88);
println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1);
}
// `fill_vec()` no longer takes `vec: Vec<i32>` as argument
fn fill_vec() -> Vec<i32> {
let mut vec = Vec::new();
vec.push(22);
vec.push(44);
vec.push(66);
vec
}