@@ -1015,7 +1015,7 @@ impl<'hir> Pat<'hir> {
10151015 use PatKind :: * ;
10161016 match self . kind {
10171017 Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _) => true ,
1018- Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_short_ ( it) ,
1018+ Box ( s) | Deref ( s ) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_short_ ( it) ,
10191019 Struct ( _, fields, _) => fields. iter ( ) . all ( |field| field. pat . walk_short_ ( it) ) ,
10201020 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . all ( |p| p. walk_short_ ( it) ) ,
10211021 Slice ( before, slice, after) => {
@@ -1042,7 +1042,7 @@ impl<'hir> Pat<'hir> {
10421042 use PatKind :: * ;
10431043 match self . kind {
10441044 Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _) => { }
1045- Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_ ( it) ,
1045+ Box ( s) | Deref ( s ) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_ ( it) ,
10461046 Struct ( _, fields, _) => fields. iter ( ) . for_each ( |field| field. pat . walk_ ( it) ) ,
10471047 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . for_each ( |p| p. walk_ ( it) ) ,
10481048 Slice ( before, slice, after) => {
@@ -1185,6 +1185,9 @@ pub enum PatKind<'hir> {
11851185 /// A `box` pattern.
11861186 Box ( & ' hir Pat < ' hir > ) ,
11871187
1188+ /// A `deref` pattern (currently `deref!()` macro-based syntax).
1189+ Deref ( & ' hir Pat < ' hir > ) ,
1190+
11881191 /// A reference pattern (e.g., `&mut (a, b)`).
11891192 Ref ( & ' hir Pat < ' hir > , Mutability ) ,
11901193
0 commit comments