diff options
| author | Christian <chris_veenman@hotmail.com> | 2019-05-27 16:17:39 +0200 |
|---|---|---|
| committer | Christian <chris_veenman@hotmail.com> | 2019-05-27 16:17:39 +0200 |
| commit | b560b9cd363d5b35d7f468d1749cab94380f7c62 (patch) | |
| tree | 42b72f738975eda868015651d4c0d66e4cd471d9 | |
| parent | e2326366935613816927e679d3b2dc04db44678c (diff) | |
| download | rust-b560b9cd363d5b35d7f468d1749cab94380f7c62.tar.gz rust-b560b9cd363d5b35d7f468d1749cab94380f7c62.zip | |
Updated the Iterator docs with information about overriding methods.
| -rw-r--r-- | src/libcore/iter/mod.rs | 5 | ||||
| -rw-r--r-- | src/libcore/iter/traits/iterator.rs | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/libcore/iter/mod.rs b/src/libcore/iter/mod.rs index 1601357d3b0..6eccb9d1ea8 100644 --- a/src/libcore/iter/mod.rs +++ b/src/libcore/iter/mod.rs @@ -140,6 +140,11 @@ //! call `next()` on your iterator, until it reaches `None`. Let's go over that //! next. //! +//! Also note that `Iterator` provides a default implementation of methods such as `nth` and `fold` +//! which call `next` internally. However, it is also possible to write a custom implementation of +//! methods like `nth` and `fold` if an iterator can compute them more efficiently without calling +//! `next`. +//! //! # for Loops and IntoIterator //! //! Rust's `for` loop syntax is actually sugar for iterators. Here's a basic diff --git a/src/libcore/iter/traits/iterator.rs b/src/libcore/iter/traits/iterator.rs index 403f3358105..062a7f7043d 100644 --- a/src/libcore/iter/traits/iterator.rs +++ b/src/libcore/iter/traits/iterator.rs @@ -964,6 +964,7 @@ pub trait Iterator { /// Creates an iterator that skips the first `n` elements. /// /// After they have been consumed, the rest of the elements are yielded. + /// Rather than overriding this method directly, instead override the `nth` method. /// /// # Examples /// |
