diff options
Diffstat (limited to 'crates/ra_syntax/src/ast/edit.rs')
-rw-r--r-- | crates/ra_syntax/src/ast/edit.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs index ae5d63927..b736098ac 100644 --- a/crates/ra_syntax/src/ast/edit.rs +++ b/crates/ra_syntax/src/ast/edit.rs | |||
@@ -236,8 +236,8 @@ pub fn replace_descendants<N: AstNode, D: AstNode>( | |||
236 | ) -> N { | 236 | ) -> N { |
237 | let map = replacement_map | 237 | let map = replacement_map |
238 | .map(|(from, to)| (from.syntax().clone().into(), to.syntax().clone().into())) | 238 | .map(|(from, to)| (from.syntax().clone().into(), to.syntax().clone().into())) |
239 | .collect::<FxHashMap<_, _>>(); | 239 | .collect::<FxHashMap<SyntaxElement, _>>(); |
240 | let new_syntax = algo::replace_descendants(parent.syntax(), &map); | 240 | let new_syntax = algo::replace_descendants(parent.syntax(), &|n| map.get(n).cloned()); |
241 | N::cast(new_syntax).unwrap() | 241 | N::cast(new_syntax).unwrap() |
242 | } | 242 | } |
243 | 243 | ||
@@ -292,7 +292,7 @@ impl IndentLevel { | |||
292 | ) | 292 | ) |
293 | }) | 293 | }) |
294 | .collect(); | 294 | .collect(); |
295 | algo::replace_descendants(&node, &replacements) | 295 | algo::replace_descendants(&node, &|n| replacements.get(n).cloned()) |
296 | } | 296 | } |
297 | 297 | ||
298 | pub fn decrease_indent<N: AstNode>(self, node: N) -> N { | 298 | pub fn decrease_indent<N: AstNode>(self, node: N) -> N { |
@@ -320,7 +320,7 @@ impl IndentLevel { | |||
320 | ) | 320 | ) |
321 | }) | 321 | }) |
322 | .collect(); | 322 | .collect(); |
323 | algo::replace_descendants(&node, &replacements) | 323 | algo::replace_descendants(&node, &|n| replacements.get(n).cloned()) |
324 | } | 324 | } |
325 | } | 325 | } |
326 | 326 | ||