Unnamed repository; edit this file 'description' to name the repository.
Fix field ref in macro for 'convert_tuple_struct_to_named_struct'
A4-Tacks 2 months ago
parent 84e8972 · commit 30b8d5e
-rw-r--r--crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs b/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs
index f8b9bb68db..ba22224b6b 100644
--- a/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs
+++ b/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs
@@ -252,13 +252,15 @@ fn edit_field_references(
let usages = def.usages(&ctx.sema).all();
for (file_id, refs) in usages {
let source = ctx.sema.parse(file_id);
- let source = source.syntax();
- let mut editor = edit.make_editor(source);
+ let mut editor = edit.make_editor(source.syntax());
for r in refs {
if let Some(name_ref) = r.name.as_name_ref()
- && let Some(original) = ctx.sema.original_ast_node(name_ref.clone())
+ && let Some(original) = ctx.sema.original_range_opt(name_ref.syntax())
{
- editor.replace(original.syntax(), name.syntax());
+ editor.replace_all(
+ cover_edit_range(&source, original.range),
+ vec![name.syntax().clone().into()],
+ );
}
}
edit.add_file_edits(file_id.file_id(ctx.db()), editor);