rustlings/exercises/move_semantics/move_semantics4.rs

27 lines
693 B
Rust
Raw Permalink Normal View History

2018-02-22 00:09:53 -06:00
// 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.
2018-11-09 13:31:14 -06:00
fn main() {
2023-02-17 12:44:18 -06:00
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> {
2023-02-17 12:44:18 -06:00
let mut vec = Vec::new();
vec.push(22);
vec.push(44);
vec.push(66);
vec
}