Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/lower/pattern_matching.rs')
| -rw-r--r-- | crates/hir-ty/src/mir/lower/pattern_matching.rs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/crates/hir-ty/src/mir/lower/pattern_matching.rs b/crates/hir-ty/src/mir/lower/pattern_matching.rs index a8aacbff16..99c5f0fc65 100644 --- a/crates/hir-ty/src/mir/lower/pattern_matching.rs +++ b/crates/hir-ty/src/mir/lower/pattern_matching.rs @@ -131,7 +131,7 @@ impl<'db> MirLowerCtx<'_, 'db> { .collect::<Vec<_>>() .into(), ); - Ok(match &self.body[pattern] { + Ok(match &self.store[pattern] { Pat::Missing => return Err(MirLowerError::IncompletePattern), Pat::Wild => (current, current_else), Pat::Tuple { args, ellipsis } => { @@ -322,7 +322,7 @@ impl<'db> MirLowerCtx<'_, 'db> { } if let &Some(slice) = slice && mode != MatchingMode::Check - && let Pat::Bind { id, subpat: _ } = self.body[slice] + && let Pat::Bind { id, subpat: _ } = self.store[slice] { let next_place = cond_place.project( ProjectionElem::Subslice { @@ -363,9 +363,14 @@ impl<'db> MirLowerCtx<'_, 'db> { )?, None => { let unresolved_name = || { - MirLowerError::unresolved_path(self.db, p, self.display_target(), self.body) + MirLowerError::unresolved_path( + self.db, + p, + self.display_target(), + self.store, + ) }; - let hygiene = self.body.pat_path_hygiene(pattern); + let hygiene = self.store.pat_path_hygiene(pattern); let pr = self .resolver .resolve_path_in_value_ns(self.db, p, hygiene) @@ -373,7 +378,7 @@ impl<'db> MirLowerCtx<'_, 'db> { if let ( MatchingMode::Assign, - ResolveValueResult::ValueNs(ValueNs::LocalBinding(binding), _), + ResolveValueResult::ValueNs(ValueNs::LocalBinding(binding)), ) = (mode, &pr) { let local = self.binding_local(*binding)?; @@ -398,7 +403,7 @@ impl<'db> MirLowerCtx<'_, 'db> { { break 'b (c, x.1); } - if let ResolveValueResult::ValueNs(ValueNs::ConstId(c), _) = pr { + if let ResolveValueResult::ValueNs(ValueNs::ConstId(c)) = pr { break 'b (c, GenericArgs::empty(self.interner())); } not_supported!("path in pattern position that is not const or variant") @@ -432,7 +437,7 @@ impl<'db> MirLowerCtx<'_, 'db> { (next, Some(else_target)) } }, - Pat::Lit(l) => match &self.body[*l] { + Pat::Lit(l) => match &self.store[*l] { Expr::Literal(l) => { if mode == MatchingMode::Check { let c = self.lower_literal_to_operand(self.infer.pat_ty(pattern), l)?; |