aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_ide_api/src/diagnostics.rs10
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};
6use ra_db::SourceDatabase; 6use ra_db::SourceDatabase;
7use ra_prof::profile; 7use ra_prof::profile;
8use ra_syntax::{ 8use ra_syntax::{
9 ast::{self, AstNode, RecordField}, 9 ast::{self, AstNode},
10 Location, SyntaxNode, TextRange, T, 10 Location, SyntaxNode, TextRange, T,
11}; 11};
12use ra_text_edit::{TextEdit, TextEditBuilder}; 12use 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();