aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs
diff options
context:
space:
mode:
authorDawer <[email protected]>2021-05-07 06:38:51 +0100
committerDawer <[email protected]>2021-05-31 20:03:47 +0100
commita236bfa57a1a860e834498d6ca1e1fc1f857a3a4 (patch)
treed578bec5f26628347b14b3245565784669654834 /crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs
parentcf6f989a8d638b76ec7e14d00f7ed095b20ffed6 (diff)
Lower binding pattern
Diffstat (limited to 'crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs')
-rw-r--r--crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs7
1 files changed, 1 insertions, 6 deletions
diff --git a/crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs b/crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs
index 91b9c7184..1c86ed59b 100644
--- a/crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs
+++ b/crates/hir_ty/src/diagnostics/pattern/deconstruct_pat.rs
@@ -801,12 +801,7 @@ impl Fields {
801 cx: &MatchCheckCtx<'_>, 801 cx: &MatchCheckCtx<'_>,
802 pats: impl IntoIterator<Item = Pat>, 802 pats: impl IntoIterator<Item = Pat>,
803 ) -> Self { 803 ) -> Self {
804 let pats = { 804 let pats = pats.into_iter().map(|pat| cx.alloc_pat(pat)).collect();
805 let tys: SmallVec<[Ty; 2]> = match self {
806 Fields::Vec(pats) => pats.iter().copied().map(|pat| cx.type_of(pat)).collect(),
807 };
808 pats.into_iter().zip(tys.into_iter()).map(move |(pat, ty)| cx.alloc_pat(pat)).collect()
809 };
810 805
811 match self { 806 match self {
812 Fields::Vec(_) => Fields::Vec(pats), 807 Fields::Vec(_) => Fields::Vec(pats),