about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2021-03-18 18:43:08 +0000
committerKornel <kornel@geekhood.net>2021-03-18 20:07:29 +0000
commit6cfdc385a1e3e9dd624ce87c75f25f1bb16118a1 (patch)
tree36af59104a461697745d069d7515e7e40283235e
parent9d0446f1a7bb60b8c355b50b8c9daae8ecfae7df (diff)
downloadrust-6cfdc385a1e3e9dd624ce87c75f25f1bb16118a1.tar.gz
rust-6cfdc385a1e3e9dd624ce87c75f25f1bb16118a1.zip
Expand documentation of Iterator::take and skip
-rw-r--r--library/core/src/iter/traits/iterator.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/library/core/src/iter/traits/iterator.rs b/library/core/src/iter/traits/iterator.rs
index f8504e842ee..4c603994647 100644
--- a/library/core/src/iter/traits/iterator.rs
+++ b/library/core/src/iter/traits/iterator.rs
@@ -1228,7 +1228,11 @@ pub trait Iterator {
 
     /// Creates an iterator that skips the first `n` elements.
     ///
-    /// After they have been consumed, the rest of the elements are yielded.
+    /// `skip(n)` skips elements until `n` elements are skipped or the end of the
+    /// iterator is reached (whichever happens first). After that, all the remaining
+    /// elements are yielded. In particular, if the original iterator is too short,
+    /// then the returned iterator is empty.
+    ///
     /// Rather than overriding this method directly, instead override the `nth` method.
     ///
     /// # Examples
@@ -1252,7 +1256,14 @@ pub trait Iterator {
         Skip::new(self, n)
     }
 
-    /// Creates an iterator that yields its first `n` elements.
+    /// Creates an iterator that yields the first `n` elements, or fewer
+    /// if the underlying iterator ends sooner.
+    ///
+    /// `take(n)` yields elements until `n` elements are yielded or the end of
+    /// the iterator is reached (whichever happens first).
+    /// The returned iterator is a prefix of length `n` if the original iterator
+    /// contains at least `n` elements, otherwise it contains all of the
+    /// (fewer than `n`) elements of the original iterator.
     ///
     /// # Examples
     ///