@@ -1032,7 +1032,7 @@ impl<'hir> Pat<'hir> {
10321032
10331033 use PatKind :: * ;
10341034 match self . kind {
1035- Wild | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => true ,
1035+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => true ,
10361036 Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_short_ ( it) ,
10371037 Struct ( _, fields, _) => fields. iter ( ) . all ( |field| field. pat . walk_short_ ( it) ) ,
10381038 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . all ( |p| p. walk_short_ ( it) ) ,
@@ -1059,7 +1059,7 @@ impl<'hir> Pat<'hir> {
10591059
10601060 use PatKind :: * ;
10611061 match self . kind {
1062- Wild | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => { }
1062+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => { }
10631063 Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_ ( it) ,
10641064 Struct ( _, fields, _) => fields. iter ( ) . for_each ( |field| field. pat . walk_ ( it) ) ,
10651065 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . for_each ( |p| p. walk_ ( it) ) ,
@@ -1172,6 +1172,9 @@ pub enum PatKind<'hir> {
11721172 /// Invariant: `pats.len() >= 2`.
11731173 Or ( & ' hir [ Pat < ' hir > ] ) ,
11741174
1175+ /// A never pattern `!`.
1176+ Never ,
1177+
11751178 /// A path pattern for a unit struct/variant or a (maybe-associated) constant.
11761179 Path ( QPath < ' hir > ) ,
11771180
0 commit comments