Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/diagnostics/match_check.rs')
-rw-r--r--crates/hir-ty/src/diagnostics/match_check.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/hir-ty/src/diagnostics/match_check.rs b/crates/hir-ty/src/diagnostics/match_check.rs
index f559c26bf5..8356329d96 100644
--- a/crates/hir-ty/src/diagnostics/match_check.rs
+++ b/crates/hir-ty/src/diagnostics/match_check.rs
@@ -22,7 +22,7 @@ use span::Edition;
use stdx::{always, never, variance::PhantomCovariantLifetime};
use crate::{
- InferenceResult,
+ ByRef, InferenceResult,
db::HirDatabase,
display::{HirDisplay, HirDisplayError, HirFormatter},
infer::BindingMode,
@@ -121,7 +121,7 @@ impl<'a, 'db> PatCtxt<'a, 'db> {
self.infer.pat_adjustments.get(&pat).map(|it| &**it).unwrap_or_default().iter().rev().fold(
unadjusted_pat,
|subpattern, ref_ty| Pat {
- ty: ref_ty.as_ref(),
+ ty: ref_ty.source.as_ref(),
kind: Box::new(PatKind::Deref { subpattern }),
},
)
@@ -158,8 +158,8 @@ impl<'a, 'db> PatCtxt<'a, 'db> {
ty = self.infer.binding_ty(id);
let name = &self.body[id].name;
match (bm, ty.kind()) {
- (BindingMode::Ref(_), TyKind::Ref(_, rty, _)) => ty = rty,
- (BindingMode::Ref(_), _) => {
+ (BindingMode(ByRef::Yes(_), _), TyKind::Ref(_, rty, _)) => ty = rty,
+ (BindingMode(ByRef::Yes(_), _), _) => {
never!(
"`ref {}` has wrong type {:?}",
name.display(self.db, Edition::LATEST),