Skip to content

Commit a66b485

Browse files
committed
switch to text-based edit
1 parent 11394c8 commit a66b485

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

crates/ide-diagnostics/src/handlers/type_mismatch.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,9 @@ fn add_or_fix_reference(
103103
let expr = ctx.sema.original_ast_node(expr)?;
104104
let expr_without_ref = RefExpr::cast(expr.syntax().clone())?.expr()?;
105105

106-
let file_id = expr_ptr.file_id.original_file(ctx.db());
107-
let mut builder = SourceChangeBuilder::new(file_id.file_id(ctx.db()));
108-
let editor = builder.make_editor(expr.syntax());
109-
let make = editor.make();
110-
let new_expr = make.expr_ref(expr_without_ref, true);
111-
builder.replace_ast(expr, new_expr);
112-
let source_change = builder.finish();
106+
let pos = expr_without_ref.syntax().text_range().start();
107+
let edit = TextEdit::insert(pos, expected_mutability.as_keyword_for_ref().to_owned());
108+
let source_change = SourceChange::from_text_edit(range.file_id, edit);
113109
acc.push(fix(
114110
"make_reference_mutable",
115111
"Make reference mutable",

0 commit comments

Comments
 (0)