From 940ceb1a4368110df2d24e58896d3753d5596a33 Mon Sep 17 00:00:00 2001 From: Nicholas-Baron Date: Sun, 19 Jul 2020 14:03:52 -0700 Subject: [PATCH 1/4] Mentioned IntoIterator earlier in keyword 'for' docs --- src/libstd/keyword_docs.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libstd/keyword_docs.rs b/src/libstd/keyword_docs.rs index d985f10ccb486..66236b45761b5 100644 --- a/src/libstd/keyword_docs.rs +++ b/src/libstd/keyword_docs.rs @@ -473,8 +473,8 @@ mod fn_keyword {} /// * `for` is also used for [higher-ranked trait bounds] as in `for<'a> &'a T: PartialEq`. /// /// for-in-loops, or to be more precise, iterator loops, are a simple syntactic sugar over a common -/// practice within Rust, which is to loop over an iterator until that iterator returns `None` (or -/// `break` is called). +/// practice within Rust, which is to loop over anything that implements `IntoIterator` until the +/// temporary iterator returns `None` (or `break` is called). /// /// ```rust /// for i in 0..5 { From 6c493df0f83c6114cddc1ad72929d1f9d4aded1e Mon Sep 17 00:00:00 2001 From: Nicholas-Baron Date: Sun, 19 Jul 2020 14:05:45 -0700 Subject: [PATCH 2/4] Mentioned IntoIterator in keyword 'in' docs --- src/libstd/keyword_docs.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libstd/keyword_docs.rs b/src/libstd/keyword_docs.rs index 66236b45761b5..d99399c08690f 100644 --- a/src/libstd/keyword_docs.rs +++ b/src/libstd/keyword_docs.rs @@ -680,7 +680,7 @@ mod impl_keyword {} // /// Iterate over a series of values with [`for`]. /// -/// The expression immediately following `in` must implement the [`Iterator`] trait. +/// The expression immediately following `in` must implement the [`IntoIterator`] trait. /// /// ## Literal Examples: /// @@ -689,7 +689,7 @@ mod impl_keyword {} /// /// (Read more about [range patterns]) /// -/// [`Iterator`]: ../book/ch13-04-performance.html +/// [`IntoIterator`]: ../book/ch13-04-performance.html /// [range patterns]: ../reference/patterns.html?highlight=range#range-patterns /// [`for`]: keyword.for.html mod in_keyword {} From f268525d966a99ca6881d6f7dc18aafe85c6d28c Mon Sep 17 00:00:00 2001 From: Nicholas-Baron Date: Sun, 19 Jul 2020 14:06:55 -0700 Subject: [PATCH 3/4] Linked the earlier mention of IntoIterator in the keyword 'for' docs --- src/libstd/keyword_docs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/keyword_docs.rs b/src/libstd/keyword_docs.rs index d99399c08690f..0ab4a45b7795e 100644 --- a/src/libstd/keyword_docs.rs +++ b/src/libstd/keyword_docs.rs @@ -473,7 +473,7 @@ mod fn_keyword {} /// * `for` is also used for [higher-ranked trait bounds] as in `for<'a> &'a T: PartialEq`. /// /// for-in-loops, or to be more precise, iterator loops, are a simple syntactic sugar over a common -/// practice within Rust, which is to loop over anything that implements `IntoIterator` until the +/// practice within Rust, which is to loop over anything that implements [`IntoIterator`] until the /// temporary iterator returns `None` (or `break` is called). /// /// ```rust From 09d55292ed1eca97b997f22656eb7e696e9c1bf1 Mon Sep 17 00:00:00 2001 From: Nicholas Baron Date: Sun, 19 Jul 2020 17:01:36 -0700 Subject: [PATCH 4/4] Update src/libstd/keyword_docs.rs Clear up wording regarding the iterator and usage of `break`. Co-authored-by: Josh Triplett --- src/libstd/keyword_docs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/keyword_docs.rs b/src/libstd/keyword_docs.rs index 0ab4a45b7795e..d8d7039777cec 100644 --- a/src/libstd/keyword_docs.rs +++ b/src/libstd/keyword_docs.rs @@ -474,7 +474,7 @@ mod fn_keyword {} /// /// for-in-loops, or to be more precise, iterator loops, are a simple syntactic sugar over a common /// practice within Rust, which is to loop over anything that implements [`IntoIterator`] until the -/// temporary iterator returns `None` (or `break` is called). +/// iterator returned by `.into_iter()` returns `None` (or the loop body uses `break`). /// /// ```rust /// for i in 0..5 {