diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-12-19 22:51:32 +0100 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-12-19 22:51:32 +0100 |
| commit | be6381e9e0d3d883baf3c2557f54af51ca18abb0 (patch) | |
| tree | 800d423f4541c140d0ffd63f5468ef951734e8af | |
| parent | 3b0af1d87d53a070c3c046a223b78ad62ec901a8 (diff) | |
| download | rust-be6381e9e0d3d883baf3c2557f54af51ca18abb0.tar.gz rust-be6381e9e0d3d883baf3c2557f54af51ca18abb0.zip | |
`lower_pattern_unadjusted`: cleanup `Tuple(..)` branch.
| -rw-r--r-- | src/librustc_mir/hair/pattern/mod.rs | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/librustc_mir/hair/pattern/mod.rs b/src/librustc_mir/hair/pattern/mod.rs index 817ba67c763..888f4b8e115 100644 --- a/src/librustc_mir/hair/pattern/mod.rs +++ b/src/librustc_mir/hair/pattern/mod.rs @@ -557,21 +557,19 @@ impl<'a, 'tcx> PatCtxt<'a, 'tcx> { } hir::PatKind::Tuple(ref subpatterns, ddpos) => { - match ty.kind { - ty::Tuple(ref tys) => { - let subpatterns = - subpatterns.iter() - .enumerate_and_adjust(tys.len(), ddpos) - .map(|(i, subpattern)| FieldPat { - field: Field::new(i), - pattern: self.lower_pattern(subpattern) - }) - .collect(); - - PatKind::Leaf { subpatterns } - } + let tys = match ty.kind { + ty::Tuple(ref tys) => tys, _ => span_bug!(pat.span, "unexpected type for tuple pattern: {:?}", ty), - } + }; + let subpatterns = subpatterns + .iter() + .enumerate_and_adjust(tys.len(), ddpos) + .map(|(i, subpattern)| FieldPat { + field: Field::new(i), + pattern: self.lower_pattern(subpattern) + }) + .collect(); + PatKind::Leaf { subpatterns } } hir::PatKind::Binding(_, id, ident, ref sub) => { |
