@@ -1549,34 +1549,6 @@ pub trait Iterator {
15491549 /// let of_rust: Vec<_> = words.collect();
15501550 /// assert_eq!(of_rust, vec!["of", "Rust"]);
15511551 /// ```
1552- ///
1553- /// This demonstrates a use case that needs `by_ref`:
1554- ///
1555- /// ```compile_fail,E0382
1556- /// let a = [1, 2, 3, 4, 5];
1557- /// let mut iter = a.iter();
1558- ///
1559- /// let sum: i32 = iter.take(3).fold(0, |acc, i| acc + i);
1560- /// assert_eq!(sum, 6);
1561- ///
1562- /// // Error! We can't use `iter` again because it was moved
1563- /// // by `take`.
1564- /// assert_eq!(iter.next(), Some(&4));
1565- /// ```
1566- ///
1567- /// Now, let's use `by_ref` to make this work:
1568- ///
1569- /// ```
1570- /// let a = [1, 2, 3, 4, 5];
1571- /// let mut iter = a.iter();
1572- ///
1573- /// // We add in a call to `by_ref` here so `iter` isn't moved.
1574- /// let sum: i32 = iter.by_ref().take(3).fold(0, |acc, i| acc + i);
1575- /// assert_eq!(sum, 6);
1576- ///
1577- /// // And now we can use `iter` again because we still own it.
1578- /// assert_eq!(iter.next(), Some(&4));
1579- /// ```
15801552 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
15811553 fn by_ref ( & mut self ) -> & mut Self
15821554 where
0 commit comments