@@ -1549,34 +1549,6 @@ pub trait Iterator {
1549
1549
/// let of_rust: Vec<_> = words.collect();
1550
1550
/// assert_eq!(of_rust, vec!["of", "Rust"]);
1551
1551
/// ```
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
- /// ```
1580
1552
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
1581
1553
fn by_ref ( & mut self ) -> & mut Self
1582
1554
where
0 commit comments