diff options
Diffstat (limited to 'move_semantics/move_semantics1.rs')
| -rw-r--r-- | move_semantics/move_semantics1.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/move_semantics/move_semantics1.rs b/move_semantics/move_semantics1.rs new file mode 100644 index 0000000..f109765 --- /dev/null +++ b/move_semantics/move_semantics1.rs @@ -0,0 +1,42 @@ +// Make me compile! Scroll down for hints :) + +pub fn main() { + let vec0 = Vec::new(); + + let vec1 = fill_vec(vec0); + + println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1); + + vec1.push(88); + + println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1); + +} + +fn fill_vec(vec: Vec<i32>) -> Vec<i32> { + let mut vec = vec; + + vec.push(22); + vec.push(44); + vec.push(66); + + vec +} + + + + + + + + + + + + + + + +// So you've got the "cannot borrow immutable local variable `vec1` as mutable" error on line 8, +// right? The fix for this is going to be adding one keyword, and the addition is NOT on line 8 +// where the error is. |
