Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/add_missing_impl_members.rs')
-rw-r--r--crates/ide-assists/src/handlers/add_missing_impl_members.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/crates/ide-assists/src/handlers/add_missing_impl_members.rs b/crates/ide-assists/src/handlers/add_missing_impl_members.rs
index 44b367059e..d1f1f9f123 100644
--- a/crates/ide-assists/src/handlers/add_missing_impl_members.rs
+++ b/crates/ide-assists/src/handlers/add_missing_impl_members.rs
@@ -148,9 +148,10 @@ fn add_missing_impl_members_inner(
let target = impl_def.syntax().text_range();
acc.add(AssistId::quick_fix(assist_id), label, target, |edit| {
- let make = SyntaxFactory::with_mappings();
+ let editor = edit.make_editor(impl_def.syntax());
+ let make = editor.make();
let new_item = add_trait_assoc_items_to_impl(
- &make,
+ make,
&ctx.sema,
ctx.config,
&missing_items,
@@ -166,7 +167,7 @@ fn add_missing_impl_members_inner(
let mut first_new_item = if let DefaultMethods::No = mode
&& let ast::AssocItem::Fn(func) = &first_new_item
&& let Some(body) = try_gen_trait_body(
- &make,
+ make,
ctx,
func,
trait_ref,
@@ -175,7 +176,7 @@ fn add_missing_impl_members_inner(
)
&& let Some(func_body) = func.body()
{
- let (mut func_editor, _) = SyntaxEditor::new(first_new_item.syntax().clone());
+ let (func_editor, _) = SyntaxEditor::new(first_new_item.syntax().clone());
func_editor.replace(func_body.syntax(), body.syntax());
ast::AssocItem::cast(func_editor.finish().new_root().clone())
} else {
@@ -188,9 +189,8 @@ fn add_missing_impl_members_inner(
.chain(other_items.iter().cloned())
.collect::<Vec<_>>();
- let mut editor = edit.make_editor(impl_def.syntax());
if let Some(assoc_item_list) = impl_def.assoc_item_list() {
- assoc_item_list.add_items(&mut editor, new_assoc_items);
+ assoc_item_list.add_items(&editor, new_assoc_items);
} else {
let assoc_item_list = make.assoc_item_list(new_assoc_items);
editor.insert_all(
@@ -218,7 +218,6 @@ fn add_missing_impl_members_inner(
editor.add_annotation(first_new_item.syntax(), tabstop);
};
};
- editor.add_mappings(make.finish_with_mappings());
edit.add_file_edits(ctx.vfs_file_id(), editor);
})
}