about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeff <dev@jeffa.io>2022-03-03 19:45:53 -0500
committerJeff <dev@jeffa.io>2022-03-03 19:45:53 -0500
commitc956fe5cea5c2221e54a98b6f83214b08eb5ce24 (patch)
tree173c90388cf700640d4952c0d1ab5bb0b01a2295
parent45660949132222ba7ec0905649b2affd68e0e13c (diff)
downloadrust-c956fe5cea5c2221e54a98b6f83214b08eb5ce24.tar.gz
rust-c956fe5cea5c2221e54a98b6f83214b08eb5ce24.zip
Document new recommended use of method
-rw-r--r--library/core/src/iter/traits/collect.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/library/core/src/iter/traits/collect.rs b/library/core/src/iter/traits/collect.rs
index 637d7bc4488..9af3c0d4809 100644
--- a/library/core/src/iter/traits/collect.rs
+++ b/library/core/src/iter/traits/collect.rs
@@ -4,9 +4,11 @@
 /// created from an iterator. This is common for types which describe a
 /// collection of some kind.
 ///
-/// [`FromIterator::from_iter()`] is rarely called explicitly, and is instead
-/// used through [`Iterator::collect()`] method. See [`Iterator::collect()`]'s
-/// documentation for more examples.
+/// If you want to create a collection from the contents of an iterator, the
+/// [`Iterator::collect()`] method is preferred. However, the compiler is
+/// sometimes unable to infer the full type of the collection. In these cases,
+/// [`FromIterator::from_iter()`] can be more concise and readable. See the
+/// [`Iterator::collect()`] documentation for more examples of its use.
 ///
 /// See also: [`IntoIterator`].
 ///
@@ -32,6 +34,17 @@
 /// assert_eq!(v, vec![5, 5, 5, 5, 5]);
 /// ```
 ///
+/// Using [`FromIterator::from_iter()`] as a more readable alternative to
+/// [`Iterator::collect()`]:
+///
+/// ```
+/// # use std::collections::VecDeque;
+/// let first = (0..10).collect::<VecDeque<i32>>();
+/// let second = VecDeque::from_iter(0..10);
+///
+/// assert_eq!(first, second);
+/// ```
+///
 /// Implementing `FromIterator` for your type:
 ///
 /// ```