aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src
diff options
context:
space:
mode:
authorLukas Wirth <[email protected]>2020-12-09 11:45:39 +0000
committerLukas Wirth <[email protected]>2020-12-09 11:45:39 +0000
commit1d54c49271af29814d9b380edee824cb4493c454 (patch)
treee62ba6355f67edc4e10cb6a284c909368762b78e /crates/ide/src
parente2e6b709e60f22279b755ceae74e579520c9ae3b (diff)
Fix MissingFields DiagnosticFix trigger range
Diffstat (limited to 'crates/ide/src')
-rw-r--r--crates/ide/src/diagnostics/fixes.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/ide/src/diagnostics/fixes.rs b/crates/ide/src/diagnostics/fixes.rs
index d275dd75b..24d08651e 100644
--- a/crates/ide/src/diagnostics/fixes.rs
+++ b/crates/ide/src/diagnostics/fixes.rs
@@ -68,7 +68,8 @@ impl DiagnosticWithFix for MissingFields {
68 } 68 }
69 69
70 let root = sema.db.parse_or_expand(self.file)?; 70 let root = sema.db.parse_or_expand(self.file)?;
71 let old_field_list = self.field_list_parent.to_node(&root).record_expr_field_list()?; 71 let field_list_parent = self.field_list_parent.to_node(&root);
72 let old_field_list = field_list_parent.record_expr_field_list()?;
72 let mut new_field_list = old_field_list.clone(); 73 let mut new_field_list = old_field_list.clone();
73 for f in self.missed_fields.iter() { 74 for f in self.missed_fields.iter() {
74 let field = 75 let field =
@@ -85,7 +86,7 @@ impl DiagnosticWithFix for MissingFields {
85 Some(Fix::new( 86 Some(Fix::new(
86 "Fill struct fields", 87 "Fill struct fields",
87 SourceFileEdit { file_id: self.file.original_file(sema.db), edit }.into(), 88 SourceFileEdit { file_id: self.file.original_file(sema.db), edit }.into(),
88 sema.original_range(&old_field_list.syntax()).range, 89 sema.original_range(&field_list_parent.syntax()).range,
89 )) 90 ))
90 } 91 }
91} 92}