Merge pull request #7 from leesper/master
[rust-101.git] / workspace / src / part06.rs
index 8b69022bfa3792ffefebbe1ff9bb37d5bf5edbf9..3bc7d0834759df4346b3261feb93e330b6ffaf93 100644 (file)
@@ -1,5 +1,3 @@
-// ***Remember to enable/add this part in `main.rs`!***
-
 // Rust-101, Part 06: Copy, Lifetimes
 // ==================================
 
 // Rust-101, Part 06: Copy, Lifetimes
 // ==================================
 
@@ -24,11 +22,12 @@ impl BigInt {
     }
 }
 
     }
 }
 
-// Now we can write `vec_min`. However, in order to make it type-check, we have to make a full (deep) copy of e
-// by calling `clone()`.
+// Now we can write `vec_min`.
 fn vec_min(v: &Vec<BigInt>) -> Option<BigInt> {
     let mut min: Option<BigInt> = None;
 fn vec_min(v: &Vec<BigInt>) -> Option<BigInt> {
     let mut min: Option<BigInt> = None;
+    // If `v` is a shared reference to a vector, then the default for iterating over it is to call `iter`, the iterator that borrows the elements.
     for e in v {
     for e in v {
+        let e = e.clone();
         unimplemented!()
     }
     min
         unimplemented!()
     }
     min