From fdf1136e7963ecb72db9681ce1ffe53d1e46e739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= Date: Sun, 2 Jan 2022 12:03:34 +0200 Subject: [PATCH] Replace folds with for loops --- .../src/handlers/extract_module.rs | 19 +++++++++---------- .../src/handlers/generate_function.rs | 8 ++++---- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/crates/ide_assists/src/handlers/extract_module.rs b/crates/ide_assists/src/handlers/extract_module.rs index 4bbfdae1d214..6cc311fd7585 100644 --- a/crates/ide_assists/src/handlers/extract_module.rs +++ b/crates/ide_assists/src/handlers/extract_module.rs @@ -311,18 +311,17 @@ impl Module { let (body_items, mut replacements, record_field_parents, impls) = get_replacements_for_visibilty_change(self.body_items.clone(), false); - let impl_items = impls.into_iter().fold(Vec::new(), |mut impl_items, x| { - let mut this_impl_items = - x.syntax().descendants().fold(Vec::new(), |mut this_impl_items, x| { - if let Some(item) = ast::Item::cast(x) { - this_impl_items.push(item); - } - return this_impl_items; - }); + let mut impl_items = Vec::new(); + for impl_ in impls { + let mut this_impl_items = Vec::new(); + for node in impl_.syntax().descendants() { + if let Some(item) = ast::Item::cast(node) { + this_impl_items.push(item); + } + } impl_items.append(&mut this_impl_items); - return impl_items; - }); + } let (_, mut impl_item_replacements, _, _) = get_replacements_for_visibilty_change(impl_items, true); diff --git a/crates/ide_assists/src/handlers/generate_function.rs b/crates/ide_assists/src/handlers/generate_function.rs index db3379abf4cc..07f5eab514ad 100644 --- a/crates/ide_assists/src/handlers/generate_function.rs +++ b/crates/ide_assists/src/handlers/generate_function.rs @@ -456,10 +456,10 @@ fn fn_args( /// assert_eq!(names, expected); /// ``` fn deduplicate_arg_names(arg_names: &mut Vec) { - let arg_name_counts = arg_names.iter().fold(FxHashMap::default(), |mut m, name| { - *m.entry(name).or_insert(0) += 1; - m - }); + let mut arg_name_counts = FxHashMap::default(); + for name in arg_names.iter() { + *arg_name_counts.entry(name).or_insert(0) += 1; + } let duplicate_arg_names: FxHashSet = arg_name_counts .into_iter() .filter(|(_, count)| *count >= 2)