@@ -1015,7 +1015,7 @@ impl<'hir> Pat<'hir> {
10151015
10161016 use PatKind :: * ;
10171017 match self . kind {
1018- Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => true ,
1018+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _ ) => true ,
10191019 Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_short_ ( it) ,
10201020 Struct ( _, fields, _) => fields. iter ( ) . all ( |field| field. pat . walk_short_ ( it) ) ,
10211021 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . all ( |p| p. walk_short_ ( it) ) ,
@@ -1042,7 +1042,7 @@ impl<'hir> Pat<'hir> {
10421042
10431043 use PatKind :: * ;
10441044 match self . kind {
1045- Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => { }
1045+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _ ) => { }
10461046 Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_ ( it) ,
10471047 Struct ( _, fields, _) => fields. iter ( ) . for_each ( |field| field. pat . walk_ ( it) ) ,
10481048 TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . for_each ( |p| p. walk_ ( it) ) ,
@@ -1205,6 +1205,9 @@ pub enum PatKind<'hir> {
12051205 /// PatKind::Slice([Binding(a), Binding(b)], Some(Wild), [Binding(c), Binding(d)])
12061206 /// ```
12071207 Slice ( & ' hir [ Pat < ' hir > ] , Option < & ' hir Pat < ' hir > > , & ' hir [ Pat < ' hir > ] ) ,
1208+
1209+ /// A placeholder for a pattern that wasn't well formed in some way.
1210+ Err ( ErrorGuaranteed ) ,
12081211}
12091212
12101213/// A statement.
0 commit comments