Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_assists/src/handlers/extract_module.rs')
-rw-r--r--crates/ide_assists/src/handlers/extract_module.rs19
1 files changed, 9 insertions, 10 deletions
diff --git a/crates/ide_assists/src/handlers/extract_module.rs b/crates/ide_assists/src/handlers/extract_module.rs
index 4bbfdae1d2..6cc311fd75 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);