diff options
| author | Lzu Tao <taolzu@gmail.com> | 2019-10-28 03:22:59 +0000 |
|---|---|---|
| committer | Lzu Tao <taolzu@gmail.com> | 2019-10-28 03:22:59 +0000 |
| commit | 9c4f60eecf1c9a0d90e6e2ea1e089fd77fd2c20f (patch) | |
| tree | 51891760095bc6fd54cabf08b1fbe3b0582198a5 | |
| parent | 0f677c65e867d93a47ccbaeaf6e6725cde8c5ff6 (diff) | |
| download | rust-9c4f60eecf1c9a0d90e6e2ea1e089fd77fd2c20f.tar.gz rust-9c4f60eecf1c9a0d90e6e2ea1e089fd77fd2c20f.zip | |
doc: introduce `once` in `iter::chain` document
| -rw-r--r-- | src/libcore/iter/traits/iterator.rs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/libcore/iter/traits/iterator.rs b/src/libcore/iter/traits/iterator.rs index a272035150a..7ffc8b3729c 100644 --- a/src/libcore/iter/traits/iterator.rs +++ b/src/libcore/iter/traits/iterator.rs @@ -384,6 +384,9 @@ pub trait Iterator { /// /// In other words, it links two iterators together, in a chain. 🔗 /// + /// [`once`] is commonly used to adapt a single value into a chain of + /// other kinds of iteration. + /// /// # Examples /// /// Basic usage: @@ -408,9 +411,6 @@ pub trait Iterator { /// [`Iterator`] itself. For example, slices (`&[T]`) implement /// [`IntoIterator`], and so can be passed to `chain()` directly: /// - /// [`IntoIterator`]: trait.IntoIterator.html - /// [`Iterator`]: trait.Iterator.html - /// /// ``` /// let s1 = &[1, 2, 3]; /// let s2 = &[4, 5, 6]; @@ -425,6 +425,21 @@ pub trait Iterator { /// assert_eq!(iter.next(), Some(&6)); /// assert_eq!(iter.next(), None); /// ``` + /// + /// If you work with Windows API, you may wish to convert [`OsStr`] to `Vec<u16>`: + /// + /// ``` + /// #[cfg(windows)] + /// fn os_str_to_utf16(s: &std::ffi::OsStr) -> Vec<u16> { + /// use std::os::windows::ffi::OsStrExt; + /// s.encode_wide().chain(std::iter::once(0)).collect() + /// } + /// ``` + /// + /// [`once`]: fn.once.html + /// [`Iterator`]: trait.Iterator.html + /// [`IntoIterator`]: trait.IntoIterator.html + /// [`OsStr`]: ../../std/ffi/struct.OsStr.html #[inline] #[stable(feature = "rust1", since = "1.0.0")] fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter> where |
