Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs')
-rw-r--r--crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs b/crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs
index 7a097e1866..0bb90f187c 100644
--- a/crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs
+++ b/crates/ide-assists/src/handlers/generate_blanket_trait_impl.rs
@@ -73,19 +73,19 @@ pub(crate) fn generate_blanket_trait_impl(
"Generate blanket trait implementation",
name.syntax().text_range(),
|builder| {
- let mut editor = builder.make_editor(traitd.syntax());
- let make = SyntaxFactory::with_mappings();
+ let editor = builder.make_editor(traitd.syntax());
+ let make = editor.make();
let namety = make.ty_path(make.path_from_text(&name.text()));
let trait_where_clause = traitd.where_clause().map(|it| it.reset_indent());
- let bounds = traitd.type_bound_list().and_then(|list| exclude_sized(&make, list));
+ let bounds = traitd.type_bound_list().and_then(|list| exclude_sized(make, list));
let is_unsafe = traitd.unsafe_token().is_some();
- let thisname = this_name(&make, &traitd);
+ let thisname = this_name(make, &traitd);
let thisty = make.ty_path(make.path_from_text(&thisname.text()));
let indent = traitd.indent_level();
let gendecl = make.generic_param_list([GenericParam::TypeParam(make.type_param(
thisname.clone(),
- apply_sized(&make, has_sized(&traitd, &ctx.sema), bounds),
+ apply_sized(make, has_sized(&traitd, &ctx.sema), bounds),
))]);
let trait_gen_args =
@@ -107,12 +107,11 @@ pub(crate) fn generate_blanket_trait_impl(
);
if let Some(trait_assoc_list) = traitd.assoc_item_list() {
- let assoc_item_list =
- impl_.get_or_create_assoc_item_list_with_editor(&mut editor, &make);
+ let assoc_item_list = impl_.get_or_create_assoc_item_list_with_editor(&editor);
for item in trait_assoc_list.assoc_items() {
let item = match item {
ast::AssocItem::Fn(method) if method.body().is_none() => {
- todo_fn(&make, &method, ctx.config).into()
+ todo_fn(make, &method, ctx.config).into()
}
ast::AssocItem::Const(_) | ast::AssocItem::TypeAlias(_) => item,
_ => continue,
@@ -136,8 +135,6 @@ pub(crate) fn generate_blanket_trait_impl(
{
builder.add_tabstop_before(cap, self_ty);
}
-
- editor.add_mappings(make.finish_with_mappings());
builder.add_file_edits(ctx.vfs_file_id(), editor);
},
);