@@ -1015,7 +1015,7 @@ impl<'hir> Pat<'hir> {
1015
1015
1016
1016
use PatKind :: * ;
1017
1017
match self . kind {
1018
- Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => true ,
1018
+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _ ) => true ,
1019
1019
Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_short_ ( it) ,
1020
1020
Struct ( _, fields, _) => fields. iter ( ) . all ( |field| field. pat . walk_short_ ( it) ) ,
1021
1021
TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . all ( |p| p. walk_short_ ( it) ) ,
@@ -1042,7 +1042,7 @@ impl<'hir> Pat<'hir> {
1042
1042
1043
1043
use PatKind :: * ;
1044
1044
match self . kind {
1045
- Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) => { }
1045
+ Wild | Never | Lit ( _) | Range ( ..) | Binding ( .., None ) | Path ( _) | Err ( _ ) => { }
1046
1046
Box ( s) | Ref ( s, _) | Binding ( .., Some ( s) ) => s. walk_ ( it) ,
1047
1047
Struct ( _, fields, _) => fields. iter ( ) . for_each ( |field| field. pat . walk_ ( it) ) ,
1048
1048
TupleStruct ( _, s, _) | Tuple ( s, _) | Or ( s) => s. iter ( ) . for_each ( |p| p. walk_ ( it) ) ,
@@ -1205,6 +1205,9 @@ pub enum PatKind<'hir> {
1205
1205
/// PatKind::Slice([Binding(a), Binding(b)], Some(Wild), [Binding(c), Binding(d)])
1206
1206
/// ```
1207
1207
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 ) ,
1208
1211
}
1209
1212
1210
1213
/// A statement.
0 commit comments