@@ -720,23 +720,25 @@ impl<'tcx> Constructor<'tcx> {
720
720
/// must have as many elements as this constructor's arity.
721
721
///
722
722
/// Examples:
723
- /// self: Single
724
- /// ty: tuple of 3 elements
725
- /// pats: [10, 20, _] => (10, 20, _)
723
+ /// `self`: `Constructor::Single`
724
+ /// `ty`: `(u32, u32, u32)`
725
+ /// `pats`: `[10, 20, _]`
726
+ /// returns `(10, 20, _)`
726
727
///
727
- /// self: Option::Some
728
- /// ty: Option<bool>
729
- /// pats: [false] => Some(false)
728
+ /// `self`: `Constructor::Variant(Option::Some)`
729
+ /// `ty`: `Option<bool>`
730
+ /// `pats`: `[false]`
731
+ /// returns `Some(false)`
730
732
fn apply < ' a > (
731
733
& self ,
732
734
cx : & MatchCheckCtxt < ' a , ' tcx > ,
733
735
ty : Ty < ' tcx > ,
734
736
pats : impl IntoIterator < Item = Pat < ' tcx > > ,
735
737
) -> Pat < ' tcx > {
736
- let mut pats = pats. into_iter ( ) ;
738
+ let mut subpatterns = pats. into_iter ( ) ;
737
739
let pat = match ty. kind {
738
740
ty:: Adt ( ..) | ty:: Tuple ( ..) => {
739
- let pats = pats
741
+ let subpatterns = subpatterns
740
742
. enumerate ( )
741
743
. map ( |( i, p) | FieldPat { field : Field :: new ( i) , pattern : p } )
742
744
. collect ( ) ;
@@ -747,20 +749,20 @@ impl<'tcx> Constructor<'tcx> {
747
749
adt_def : adt,
748
750
substs,
749
751
variant_index : self . variant_index_for_adt ( cx, adt) ,
750
- subpatterns : pats ,
752
+ subpatterns,
751
753
}
752
754
} else {
753
- PatKind :: Leaf { subpatterns : pats }
755
+ PatKind :: Leaf { subpatterns }
754
756
}
755
757
} else {
756
- PatKind :: Leaf { subpatterns : pats }
758
+ PatKind :: Leaf { subpatterns }
757
759
}
758
760
}
759
761
760
- ty:: Ref ( ..) => PatKind :: Deref { subpattern : pats . nth ( 0 ) . unwrap ( ) } ,
762
+ ty:: Ref ( ..) => PatKind :: Deref { subpattern : subpatterns . nth ( 0 ) . unwrap ( ) } ,
761
763
762
764
ty:: Slice ( _) | ty:: Array ( ..) => {
763
- PatKind :: Slice { prefix : pats . collect ( ) , slice : None , suffix : vec ! [ ] }
765
+ PatKind :: Slice { prefix : subpatterns . collect ( ) , slice : None , suffix : vec ! [ ] }
764
766
}
765
767
766
768
_ => match * self {
@@ -779,8 +781,8 @@ impl<'tcx> Constructor<'tcx> {
779
781
780
782
/// Like `apply`, but where all the subpatterns are wildcards `_`.
781
783
fn apply_wildcards < ' a > ( & self , cx : & MatchCheckCtxt < ' a , ' tcx > , ty : Ty < ' tcx > ) -> Pat < ' tcx > {
782
- let pats = self . wildcard_subpatterns ( cx, ty) . rev ( ) ;
783
- self . apply ( cx, ty, pats )
784
+ let subpatterns = self . wildcard_subpatterns ( cx, ty) . rev ( ) ;
785
+ self . apply ( cx, ty, subpatterns )
784
786
}
785
787
}
786
788
0 commit comments