diff options
author | Lukas Wirth <[email protected]> | 2021-04-21 23:54:31 +0100 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2021-04-21 23:54:31 +0100 |
commit | d5c9de65c555235d7a27dc4617858b7a24be4935 (patch) | |
tree | 402d438aee553f6687cdc7ab9479fc30f0149c37 /crates | |
parent | b290cd578260f307e872a95f971e5a7c656a80ed (diff) |
Don't filter equal nodes in reorder assists
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ide_assists/src/handlers/reorder_fields.rs | 8 | ||||
-rw-r--r-- | crates/ide_assists/src/handlers/reorder_impl.rs | 8 |
2 files changed, 6 insertions, 10 deletions
diff --git a/crates/ide_assists/src/handlers/reorder_fields.rs b/crates/ide_assists/src/handlers/reorder_fields.rs index 1a95135ca..e90bbdbcf 100644 --- a/crates/ide_assists/src/handlers/reorder_fields.rs +++ b/crates/ide_assists/src/handlers/reorder_fields.rs | |||
@@ -83,11 +83,9 @@ fn replace<T: AstNode + PartialEq>( | |||
83 | fields: impl Iterator<Item = T>, | 83 | fields: impl Iterator<Item = T>, |
84 | sorted_fields: impl IntoIterator<Item = T>, | 84 | sorted_fields: impl IntoIterator<Item = T>, |
85 | ) { | 85 | ) { |
86 | fields.zip(sorted_fields).filter(|(field, sorted)| field != sorted).for_each( | 86 | fields.zip(sorted_fields).for_each(|(field, sorted_field)| { |
87 | |(field, sorted_field)| { | 87 | ted::replace(field.syntax(), sorted_field.syntax().clone_for_update()) |
88 | ted::replace(field.syntax(), sorted_field.syntax().clone_for_update()); | 88 | }); |
89 | }, | ||
90 | ); | ||
91 | } | 89 | } |
92 | 90 | ||
93 | fn compute_fields_ranks(path: &ast::Path, ctx: &AssistContext) -> Option<FxHashMap<String, usize>> { | 91 | fn compute_fields_ranks(path: &ast::Path, ctx: &AssistContext) -> Option<FxHashMap<String, usize>> { |
diff --git a/crates/ide_assists/src/handlers/reorder_impl.rs b/crates/ide_assists/src/handlers/reorder_impl.rs index fd2897c4c..72d889248 100644 --- a/crates/ide_assists/src/handlers/reorder_impl.rs +++ b/crates/ide_assists/src/handlers/reorder_impl.rs | |||
@@ -79,11 +79,9 @@ pub(crate) fn reorder_impl(acc: &mut Assists, ctx: &AssistContext) -> Option<()> | |||
79 | "Sort methods", | 79 | "Sort methods", |
80 | target, | 80 | target, |
81 | |builder| { | 81 | |builder| { |
82 | for (old, new) in | 82 | methods.into_iter().zip(sorted).for_each(|(old, new)| { |
83 | methods.into_iter().zip(sorted).filter(|(field, sorted)| field != sorted) | 83 | ted::replace(builder.make_ast_mut(old).syntax(), new.clone_for_update().syntax()) |
84 | { | 84 | }); |
85 | ted::replace(builder.make_ast_mut(old).syntax(), new.clone_for_update().syntax()); | ||
86 | } | ||
87 | }, | 85 | }, |
88 | ) | 86 | ) |
89 | } | 87 | } |