Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #17534 - Veykril:skip-unknown-match-check, r=Veykril
fix: Skip match exhaustiveness checking if pattern type contains errors Should fix https://github.com/rust-lang/rust-analyzer/issues/17509, checking when errors are involved is generally a bad idea as the algorithm doesn't really expect error types in the first place I believe
bors 2024-07-03
parent 4981f00 · parent 26c7bfd · commit 848e0c4
-rw-r--r--crates/hir-ty/src/diagnostics/expr.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/hir-ty/src/diagnostics/expr.rs b/crates/hir-ty/src/diagnostics/expr.rs
index ce3fa53f7a..c28ab2e98a 100644
--- a/crates/hir-ty/src/diagnostics/expr.rs
+++ b/crates/hir-ty/src/diagnostics/expr.rs
@@ -196,6 +196,9 @@ impl ExprValidator {
let Some(pat_ty) = self.infer.type_of_pat.get(arm.pat) else {
return;
};
+ if pat_ty.contains_unknown() {
+ return;
+ }
// We only include patterns whose type matches the type
// of the scrutinee expression. If we had an InvalidMatchArmPattern