diff options
Diffstat (limited to 'crates/ra_ide')
-rw-r--r-- | crates/ra_ide/src/diagnostics.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/ra_ide/src/diagnostics.rs b/crates/ra_ide/src/diagnostics.rs index c1d7ddaf2..901ad104c 100644 --- a/crates/ra_ide/src/diagnostics.rs +++ b/crates/ra_ide/src/diagnostics.rs | |||
@@ -101,6 +101,14 @@ pub(crate) fn diagnostics(db: &RootDatabase, file_id: FileId) -> Vec<Diagnostic> | |||
101 | fix, | 101 | fix, |
102 | }) | 102 | }) |
103 | }) | 103 | }) |
104 | .on::<hir::diagnostics::MissingMatchArms, _>(|d| { | ||
105 | res.borrow_mut().push(Diagnostic { | ||
106 | range: d.highlight_range(), | ||
107 | message: d.message(), | ||
108 | severity: Severity::Error, | ||
109 | fix: None, | ||
110 | }) | ||
111 | }) | ||
104 | .on::<hir::diagnostics::MissingOkInTailExpr, _>(|d| { | 112 | .on::<hir::diagnostics::MissingOkInTailExpr, _>(|d| { |
105 | let node = d.ast(db); | 113 | let node = d.ast(db); |
106 | let replacement = format!("Ok({})", node.syntax()); | 114 | let replacement = format!("Ok({})", node.syntax()); |
@@ -291,7 +299,7 @@ mod tests { | |||
291 | fn check_no_diagnostic(content: &str) { | 299 | fn check_no_diagnostic(content: &str) { |
292 | let (analysis, file_id) = single_file(content); | 300 | let (analysis, file_id) = single_file(content); |
293 | let diagnostics = analysis.diagnostics(file_id).unwrap(); | 301 | let diagnostics = analysis.diagnostics(file_id).unwrap(); |
294 | assert_eq!(diagnostics.len(), 0); | 302 | assert_eq!(diagnostics.len(), 0, "expected no diagnostic, found one"); |
295 | } | 303 | } |
296 | 304 | ||
297 | #[test] | 305 | #[test] |