diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-12 14:45:04 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-12 14:45:04 +0000 |
commit | c0459c53572f90fa9134192e432562af3daba5fa (patch) | |
tree | 4eaaf5618fbd742ae8212ff207bc42dc728bfd06 /crates/ide_assists/src/tests | |
parent | 19dd1fd4d41538de7ea386a2d0d18e27bf95f63c (diff) | |
parent | 6d35c67b6e39fae1efc48405b49d408b86666534 (diff) |
Merge #7956
7956: Add assist to convert for_each into for loops r=Veykril a=SaiintBrisson
This PR resolves #7821.
Adds an assist to that converts an `Iterator::for_each` into a for loop:
```rust
fn main() {
let vec = vec![(1, 2), (2, 3), (3, 4)];
x.iter().for_each(|(x, y)| {
println!("x: {}, y: {}", x, y);
})
}
```
becomes
```rust
fn main() {
let vec = vec![(1, 2), (2, 3), (3, 4)];
for (x, y) in x.iter() {
println!("x: {}, y: {}", x, y);
});
}
```
Co-authored-by: Luiz Carlos MourĂ£o Paes de Carvalho <[email protected]>
Co-authored-by: Luiz Carlos <[email protected]>
Co-authored-by: Lukas Wirth <[email protected]>
Diffstat (limited to 'crates/ide_assists/src/tests')
-rw-r--r-- | crates/ide_assists/src/tests/generated.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/crates/ide_assists/src/tests/generated.rs b/crates/ide_assists/src/tests/generated.rs index 304b5798f..3f77edd8d 100644 --- a/crates/ide_assists/src/tests/generated.rs +++ b/crates/ide_assists/src/tests/generated.rs | |||
@@ -206,6 +206,36 @@ const _: i32 = 0b1010; | |||
206 | } | 206 | } |
207 | 207 | ||
208 | #[test] | 208 | #[test] |
209 | fn doctest_convert_iter_for_each_to_for() { | ||
210 | check_doc_test( | ||
211 | "convert_iter_for_each_to_for", | ||
212 | r#####" | ||
213 | //- /lib.rs crate:core | ||
214 | pub mod iter { pub mod traits { pub mod iterator { pub trait Iterator {} } } } | ||
215 | pub struct SomeIter; | ||
216 | impl self::iter::traits::iterator::Iterator for SomeIter {} | ||
217 | //- /lib.rs crate:main deps:core | ||
218 | use core::SomeIter; | ||
219 | fn main() { | ||
220 | let iter = SomeIter; | ||
221 | iter.for_each$0(|(x, y)| { | ||
222 | println!("x: {}, y: {}", x, y); | ||
223 | }); | ||
224 | } | ||
225 | "#####, | ||
226 | r#####" | ||
227 | use core::SomeIter; | ||
228 | fn main() { | ||
229 | let iter = SomeIter; | ||
230 | for (x, y) in iter { | ||
231 | println!("x: {}, y: {}", x, y); | ||
232 | } | ||
233 | } | ||
234 | "#####, | ||
235 | ) | ||
236 | } | ||
237 | |||
238 | #[test] | ||
209 | fn doctest_convert_to_guarded_return() { | 239 | fn doctest_convert_to_guarded_return() { |
210 | check_doc_test( | 240 | check_doc_test( |
211 | "convert_to_guarded_return", | 241 | "convert_to_guarded_return", |