rustlings

solving rustlings ft. dracuxan
git clone [email protected]:dracuxan/rustlings.git
Log | Files | Refs

move_semantics1.rs (461B)


      1 fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
      2     let mut vec = vec;
      3     //  ^^^ added
      4 
      5     vec.push(88);
      6 
      7     vec
      8 }
      9 
     10 fn main() {
     11     // You can optionally experiment here.
     12 }
     13 
     14 #[cfg(test)]
     15 mod tests {
     16     use super::*;
     17 
     18     #[test]
     19     fn move_semantics1() {
     20         let vec0 = vec![22, 44, 66];
     21         let vec1 = fill_vec(vec0);
     22         // `vec0` can't be accessed anymore because it is moved to `fill_vec`.
     23         assert_eq!(vec1, vec![22, 44, 66, 88]);
     24     }
     25 }