]> git.lizzy.rs Git - rust.git/commitdiff
Fixed erroneous statements in iterators.md.
authorAlexander Bliskovsky <alexander.bliskovsky@gmail.com>
Mon, 23 Feb 2015 01:06:25 +0000 (20:06 -0500)
committerAlexander Bliskovsky <alexander.bliskovsky@gmail.com>
Mon, 23 Feb 2015 01:26:54 +0000 (20:26 -0500)
src/doc/trpl/iterators.md

index 943dbad35d7747bef8bf6cb66f22ce2bdf96eb65..33dc1ba07ca86e63cd26fa2d8ce99d3d0e9f232c 100644 (file)
@@ -91,11 +91,11 @@ for num in &nums {
 ```
 
 Now we're explicitly dereferencing `num`. Why does `&nums` give us
-references?  Because we asked it to with `&`. If we had not had the
-`&`, `nums` would have been moved into the `for` loop and consumed,
-and we we would no longer be able to access `nums` afterward.  With
-references, we're just borrowing a reference to the data, and so it's
-just passing a reference, without needing to do the move.
+references?  Firstly, because we explicitly asked it to with
+`&`. Secondly, if it gave us the data itself, we would have to be its
+owner, which would involve making a copy of the data and giving us the
+copy. With references, we're just borrowing a reference to the data,
+and so it's just passing a reference, without needing to do the move.
 
 So, now that we've established that ranges are often not what you want, let's
 talk about what you do want instead.
@@ -242,9 +242,6 @@ for num in nums.iter() {
 }
 ```
 
-Sometimes you need this functionality, but since for loops operate on the
-`IntoIterator` trait, calling `.iter()` is rarely necessary.
-
 These two basic iterators should serve you well. There are some more
 advanced iterators, including ones that are infinite. Like `count`: