better mobile version
[rust-101.git] / src / part06.rs
index 6d50c2d0efcd21c64d501a7428d6c6b596756556..4dff55c868b6d8e36c2d35c238c05b0deeb3fb80 100644 (file)
@@ -30,7 +30,7 @@ fn vec_min(v: &Vec<BigInt>) -> Option<BigInt> {
     let mut min: Option<BigInt> = None;
     // If `v` is a shared borrowed vector, then the default for iterating over it is to call `iter`, the iterator that borrows the elements.
     for e in v {
-        let e = e.clone();                                          /*@*/
+        let e = e.clone();
         min = Some(match min {                                      /*@*/
             None => e,                                              /*@*/
             Some(n) => e.min_try1(n)                                /*@*/
@@ -50,7 +50,7 @@ fn vec_min(v: &Vec<BigInt>) -> Option<BigInt> {
 //@ underlying data is transferred from where `e` borrows from to `min`. But that's not allowed, since
 //@ we just borrowed `e`, so we cannot empty it! We can, however, call `clone` on it. Then we own
 //@ the copy that was created, and hence we can store it in `min`. <br/>
-//@ Of course, making such a full copy is expensive, so we'd like to avoid it. We'll some to that in the next part.
+//@ Of course, making such a full copy is expensive, so we'd like to avoid it. We'll come to that in the next part.
 
 // ## `Copy` types
 //@ But before we go there, I should answer the second question I brought up above: Why did our old `vec_min` work?
@@ -145,6 +145,6 @@ fn rust_foo(mut v: Vec<i32>) -> i32 {
 //@ are used correctly, *while looking only at the function type*. At no point in our analysis of `rust_foo` did
 //@ we have to look *into* `head`. That's, of course, crucial if we want to separate library code from application code.
 //@ Most of the time, we don't have to explicitly add lifetimes to function types. This is thanks to *lifetimes elision*,
-//@ where Rust will automatically insert lifetimes we did not specify, following some [simple, well-documented rules](http://doc.rust-lang.org/stable/book/lifetimes.html#lifetime-elision).
+//@ where Rust will automatically insert lifetimes we did not specify, following some [simple, well-documented rules](https://doc.rust-lang.org/stable/book/lifetimes.html#lifetime-elision).
 
 //@ [index](main.html) | [previous](part05.html) | [next](part07.html)