about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorWaffle <waffle.lapkin@gmail.com>2020-03-21 18:40:28 +0300
committerWaffle <waffle.lapkin@gmail.com>2020-03-21 18:40:28 +0300
commite964d7180ca4164dfa3d6c6dee6026889c604812 (patch)
treee5b091ee9e6dcbec9d187ba205134f43494b0c95 /src/libcore
parent605bc1b19b45534b0860fad4b1d44678bc8b34e9 (diff)
downloadrust-e964d7180ca4164dfa3d6c6dee6026889c604812.tar.gz
rust-e964d7180ca4164dfa3d6c6dee6026889c604812.zip
slightly change the `Iterator::map_while` docs
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/iter/traits/iterator.rs18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/libcore/iter/traits/iterator.rs b/src/libcore/iter/traits/iterator.rs
index 38882980b0d..b8becb68008 100644
--- a/src/libcore/iter/traits/iterator.rs
+++ b/src/libcore/iter/traits/iterator.rs
@@ -1080,8 +1080,8 @@ pub trait Iterator {
     /// let iter = a.iter().map_while(|x| u32::try_from(*x).ok());
     /// let vec = iter.collect::<Vec<_>>();
     ///
-    /// // We have more elements which could fit in u32 (4, 5), but `map_while`
-    /// // has stopped on the first `None` from predicate (when working with `-3`)
+    /// // We have more elements which could fit in u32 (4, 5), but `map_while` returned `None` for `-3`
+    /// // (as the `predicate` returned `None`) and `collect` stops at the first `None` entcountered.
     /// assert_eq!(vec, vec![0, 1, 2]);
     /// ```
     ///
@@ -1110,18 +1110,8 @@ pub trait Iterator {
     /// The `-3` is no longer there, because it was consumed in order to see if
     /// the iteration should stop, but wasn't placed back into the iterator.
     ///
-    /// Note that unlike [`take_while`] this iterator is **not** fused:
-    ///
-    /// ```
-    /// #![feature(iter_map_while)]
-    /// use std::convert::identity;
-    ///
-    /// let mut iter = vec![Some(0), None, Some(1)].into_iter().map_while(identity);
-    /// assert_eq!(iter.next(), Some(0));
-    /// assert_eq!(iter.next(), None);
-    /// assert_eq!(iter.next(), Some(1));
-    /// ```
-    ///
+    /// Note that unlike [`take_while`] this iterator is **not** fused.
+    /// It is also not specified what this iterator returns after the first` None` is returned.
     /// If you need fused iterator, use [`fuse`].
     ///
     /// [`Some`]: ../../std/option/enum.Option.html#variant.Some