about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/doc/book/vectors.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/doc/book/vectors.md b/src/doc/book/vectors.md
index f5a543d75b1..0eba4d40ede 100644
--- a/src/doc/book/vectors.md
+++ b/src/doc/book/vectors.md
@@ -114,7 +114,30 @@ for i in v {
     println!("Take ownership of the vector and its element {}", i);
 }
 ```
+Note: You cannot use the vector again once you have iterated with ownership of the vector.
+You can iterate the vector multiple times with reference iteration. For example, the following
+code does not compile.
+```rust
+let mut v = vec![1, 2, 3, 4, 5];
+for i in v {
+    println!("Take ownership of the vector and its element {}", i);
+}
+for i in v {
+    println!("Take ownership of the vector and its element {}", i);
+}
+```
+Whereas the following works perfectly,
 
+```rust
+let mut v = vec![1, 2, 3, 4, 5];
+for i in &v {
+    println!("A mutable reference to {}", i);
+}
+
+for i in &v {
+    println!("A mutable reference to {}", i);
+}
+```
 Vectors have many more useful methods, which you can read about in [their
 API documentation][vec].