- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Open
Labels
A-arrayArea: `[T; N]`Area: `[T; N]`A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsA-edition-2021Area: The 2021 editionArea: The 2021 editionA-iteratorsArea: IteratorsArea: IteratorsC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Description
-  array::IntoItertype: Tracking issue for by-value array iterator (featurearray_value_iter) #65798
-  Idea to make .into_iter()resolution edition dependent: exploration: ignoring arrays in method dispatch #84133
- FCP: Cautiously add IntoIterator for arrays by value #84147 (comment)
-  IntoIterator implementation for arrays: AddIncluded in Cautiously add IntoIterator for arrays by value #84147IntoIteratorimpl for arrays by value (for [T; N]) #65819
-  Ignore the by-value .into_iter()in method resolution on Rust 2015 and Rust 2018: Cautiously add IntoIterator for arrays by value #84147
-  Update array_into_iterlint.- Change the "might change in the future" wording: Update array_into_iter lint for 1.53 and edition changes. #85682
-  Correct wording for the current situation in the message (arrays do implement the trait, the method is just hiding itself in a.into_iter()syntax for backwards compatibility): Update array_into_iter lint for 1.53 and edition changes. #85682
-  Also suggest just removing .into_iter()infor a in [1, 2, 3].into_iter(), since that now works on all editions: Update array_into_iter lint for 1.53 and edition changes. #85682
-  Also suggest IntoIterator::into_iter(array): Update array_into_iter lint for 1.53 and edition changes. #85682
- Extend lint to also cover this case and this case? Upgrade array_into_iter lint to include Deref-to-array types. #88512
 
-  Update documentation
-  Update array and iterator docs in std / core for new IntoIterator impl and edition. #87701
- Point out that behaviour might be switched on 2015 and 2018 too one day - Point out that behavior might be switched on 2015 and 2018 too one day #84590
-  Fix docs of array::IntoIter::new(the ".. in the future, after .." part): Update outdated docs of array::IntoIter::new. #88610
-  Update docs of the arrayprimitive type - Update primitive docs for rust 2021. #88613
 
- Update the book (e.g. this section and probably more, and many examples).
 
-  Update array and iterator docs in std / core for new IntoIterator impl and edition. #87701
-  Update standard library
-  Remove usages of array::IntoIter::new: Update standard library for IntoIterator implementation of arrays #85930
-  Update expressions like like .chain(array.iter().cloned())to just.chain(array)since that now works on all editions. (Same forzip,extendetc.): Update standard library for IntoIterator implementation of arrays #85930
-  Use .extend(array)andfrom_iter(array)wherever that simplifies things.
-  Remove arrays do not yet implement IntoIteratormessage from Iterator trait: Remove arrays/IntoIterator message from Iterator trait. #85670
-  Remove for _ in [start..end]messages from Iterator trait. (Could use a new clippy lint?): Remove Iterator #[rustc_on_unimplemented]s that no longer apply. #85689
 
-  Remove usages of 
-  Deprecate array::IntoIter::new(IntoIterator::into_iter([1,2,3])now works too on all editions.): Deprecate array::IntoIter::new. #88611
Once edition 2021 is stable:
-  Update examples like this to use arrays by value. (Some(&1)→Some(1)etc.)-  Update examples to no longer avoid iterating arrays. (Many doctest examples are using iterators over e.g. &i32instead of justi32.)
 
-  Update examples to no longer avoid iterating arrays. (Many doctest examples are using iterators over e.g. 
-  Remove about 200 usages of .iter().copied()and.iter().cloned()from examples and tests.
Unresolved questions:
-  Do something about the 'copying large arrays' footgun. (Add IntoIteratorimplementation forBox<[T; N]>etc? Add lint about big copies?)
LukasKalbertodt, Aaron1011, fmease, est31, bluss and 15 more
Metadata
Metadata
Assignees
Labels
A-arrayArea: `[T; N]`Area: `[T; N]`A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsA-edition-2021Area: The 2021 editionArea: The 2021 editionA-iteratorsArea: IteratorsArea: IteratorsC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.