Skip to content

Commit 5badbb7

Browse files
committed
Implement Centril's suggestion
#65160 (comment)
1 parent 3d0945d commit 5badbb7

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

src/librustc_mir/hair/pattern/_match.rs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,24 +1154,19 @@ impl<'tcx> Constructor<'tcx> {
11541154
let pat = match *self {
11551155
Single | Variant(_) => match ty.kind {
11561156
ty::Adt(..) | ty::Tuple(..) => {
1157-
let pats = pats
1157+
let subpatterns = pats
11581158
.enumerate()
11591159
.map(|(i, p)| FieldPat { field: Field::new(i), pattern: p })
11601160
.collect();
11611161

1162-
if let ty::Adt(adt, substs) = ty.kind {
1163-
if adt.is_enum() {
1164-
PatKind::Variant {
1165-
adt_def: adt,
1166-
substs,
1167-
variant_index: self.variant_index_for_adt(cx, adt),
1168-
subpatterns: pats,
1169-
}
1170-
} else {
1171-
PatKind::Leaf { subpatterns: pats }
1172-
}
1173-
} else {
1174-
PatKind::Leaf { subpatterns: pats }
1162+
match ty.kind {
1163+
ty::Adt(adt_def, substs) if adt_def.is_enum() => PatKind::Variant {
1164+
adt_def,
1165+
substs,
1166+
variant_index: self.variant_index_for_adt(cx, adt_def),
1167+
subpatterns,
1168+
},
1169+
_ => PatKind::Leaf { subpatterns },
11751170
}
11761171
}
11771172
ty::Ref(..) => PatKind::Deref { subpattern: pats.nth(0).unwrap() },

0 commit comments

Comments
 (0)