diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-04-07 13:53:47 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-04-07 13:53:47 +0100 |
commit | 97b963b44b9da1fca4229da4c8744fa88c25780b (patch) | |
tree | f25e0db350072cf8d084ce81adcaeeeaac3f4c42 /crates/ra_hir_ty/src/lib.rs | |
parent | b7e5d94bda362ffc21174a79aa0be113c3288e1e (diff) | |
parent | 9fc1f51b7ade2cda7d410450ab1347311eb074af (diff) |
Merge #3706
3706: missing match arms diagnostic r=flodiebold a=JoshMcguigan
Following up on https://github.com/rust-analyzer/rust-analyzer/pull/3689#issuecomment-602718222, this PR creates a missing match arms diagnostic.
At the moment this is a very early draft, but I wanted to open it just to get some initial feedback.
Initial questions:
* Have I roughly created the correct boilerplate?
* Inside the new `validate_match` function:
* Am I correct in thinking I want to do validation by comparing the match arms against `match_expr`? And when analyzing `match_expr` I should be looking at it as a `hir_def::expr::Expr`?
* I mostly copied the chained if-let statements from the struct validation. Shouldn't there be a non-failable way to get an AstPtr from the hir data structures?
Thanks for all the guidance.
Co-authored-by: Josh Mcguigan <[email protected]>
Diffstat (limited to 'crates/ra_hir_ty/src/lib.rs')
-rw-r--r-- | crates/ra_hir_ty/src/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/ra_hir_ty/src/lib.rs b/crates/ra_hir_ty/src/lib.rs index 717399b6d..18f74d3b1 100644 --- a/crates/ra_hir_ty/src/lib.rs +++ b/crates/ra_hir_ty/src/lib.rs | |||
@@ -43,6 +43,7 @@ mod tests; | |||
43 | #[cfg(test)] | 43 | #[cfg(test)] |
44 | mod test_db; | 44 | mod test_db; |
45 | mod marks; | 45 | mod marks; |
46 | mod _match; | ||
46 | 47 | ||
47 | use std::ops::Deref; | 48 | use std::ops::Deref; |
48 | use std::sync::Arc; | 49 | use std::sync::Arc; |