File tree Expand file tree Collapse file tree
crates/ide-diagnostics/src/handlers Expand file tree Collapse file tree Original file line number Diff line number Diff 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" ,
You can’t perform that action at this time.
0 commit comments