diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_ide_api/src/diagnostics.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/ra_ide_api/src/diagnostics.rs b/crates/ra_ide_api/src/diagnostics.rs index 06e7ea6da..836e15a4b 100644 --- a/crates/ra_ide_api/src/diagnostics.rs +++ b/crates/ra_ide_api/src/diagnostics.rs | |||
@@ -6,7 +6,7 @@ use ra_assists::{ast_builder::Make, ast_editor::AstEditor}; | |||
6 | use ra_db::SourceDatabase; | 6 | use ra_db::SourceDatabase; |
7 | use ra_prof::profile; | 7 | use ra_prof::profile; |
8 | use ra_syntax::{ | 8 | use ra_syntax::{ |
9 | ast::{self, AstNode, RecordField}, | 9 | ast::{self, AstNode}, |
10 | Location, SyntaxNode, TextRange, T, | 10 | Location, SyntaxNode, TextRange, T, |
11 | }; | 11 | }; |
12 | use ra_text_edit::{TextEdit, TextEditBuilder}; | 12 | use ra_text_edit::{TextEdit, TextEditBuilder}; |
@@ -59,9 +59,11 @@ pub(crate) fn diagnostics(db: &RootDatabase, file_id: FileId) -> Vec<Diagnostic> | |||
59 | let node = d.ast(db); | 59 | let node = d.ast(db); |
60 | let mut ast_editor = AstEditor::new(node); | 60 | let mut ast_editor = AstEditor::new(node); |
61 | for f in d.missed_fields.iter() { | 61 | for f in d.missed_fields.iter() { |
62 | let name_ref = Make::<ast::NameRef>::new(&f.to_string()); | 62 | let field = Make::<ast::RecordField>::from( |
63 | let unit = Make::<ast::Expr>::unit(); | 63 | Make::<ast::NameRef>::new(&f.to_string()), |
64 | ast_editor.append_field(&Make::<RecordField>::from(name_ref, Some(unit))); | 64 | Some(Make::<ast::Expr>::unit()), |
65 | ); | ||
66 | ast_editor.append_field(&field); | ||
65 | } | 67 | } |
66 | 68 | ||
67 | let mut builder = TextEditBuilder::default(); | 69 | let mut builder = TextEditBuilder::default(); |