about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNadrieril <nadrieril+git@gmail.com>2024-03-17 16:35:47 +0100
committerNadrieril <nadrieril+git@gmail.com>2024-03-18 21:21:52 +0100
commite67adf40c98c95bb25a27a66c5b3f20a8094b296 (patch)
tree035bb48b189ffc92ca88ad2029b0a738ecdd6aef
parent3cfcd4ed962ffede6dc1405f26c34ac4b9c2462c (diff)
downloadrust-e67adf40c98c95bb25a27a66c5b3f20a8094b296.tar.gz
rust-e67adf40c98c95bb25a27a66c5b3f20a8094b296.zip
Don't assume place validity when we don't know
-rw-r--r--crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs b/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
index 82b80a53e30..dfe082cb560 100644
--- a/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
+++ b/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
@@ -65,7 +65,9 @@ impl<'p> MatchCheckCtx<'p> {
         arms: &[MatchArm<'p>],
         scrut_ty: Ty,
     ) -> Result<UsefulnessReport<'p, Self>, ()> {
-        compute_match_usefulness(self, arms, scrut_ty, PlaceValidity::ValidOnly, None)
+        // FIXME: Determine place validity correctly. For now, err on the safe side.
+        let place_validity = PlaceValidity::MaybeInvalid;
+        compute_match_usefulness(self, arms, scrut_ty, place_validity, None)
     }
 
     fn is_uninhabited(&self, ty: &Ty) -> bool {