@@ -68,7 +68,7 @@ fn iter_exprs(depth: usize, f: &mut dyn FnMut(P<Expr>)) {
68
68
69
69
let mut g = |e| f ( expr ( e) ) ;
70
70
71
- for kind in 0 .. 16 {
71
+ for kind in 0 ..= 19 {
72
72
match kind {
73
73
0 => iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Box ( e) ) ) ,
74
74
1 => iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Call ( e, vec ! [ ] ) ) ) ,
@@ -79,25 +79,26 @@ fn iter_exprs(depth: usize, f: &mut dyn FnMut(P<Expr>)) {
79
79
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: MethodCall (
80
80
seg. clone ( ) , vec ! [ make_x( ) , e] ) ) ) ;
81
81
} ,
82
- 3 => {
83
- let op = Spanned { span : DUMMY_SP , node : BinOpKind :: Add } ;
84
- iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, e, make_x ( ) ) ) ) ;
85
- iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, make_x ( ) , e) ) ) ;
86
- } ,
87
- 4 => {
88
- let op = Spanned { span : DUMMY_SP , node : BinOpKind :: Mul } ;
89
- iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, e, make_x ( ) ) ) ) ;
90
- iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, make_x ( ) , e) ) ) ;
91
- } ,
92
- 5 => {
93
- let op = Spanned { span : DUMMY_SP , node : BinOpKind :: Shl } ;
82
+ 3 ..=8 => {
83
+ let op = Spanned {
84
+ span : DUMMY_SP ,
85
+ node : match kind {
86
+ 3 => BinOpKind :: Add ,
87
+ 4 => BinOpKind :: Mul ,
88
+ 5 => BinOpKind :: Shl ,
89
+ 6 => BinOpKind :: And ,
90
+ 7 => BinOpKind :: Or ,
91
+ 8 => BinOpKind :: Lt ,
92
+ _ => unreachable ! ( ) ,
93
+ }
94
+ } ;
94
95
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, e, make_x ( ) ) ) ) ;
95
96
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Binary ( op, make_x ( ) , e) ) ) ;
96
97
} ,
97
- 6 => {
98
+ 9 => {
98
99
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Unary ( UnOp :: Deref , e) ) ) ;
99
100
} ,
100
- 7 => {
101
+ 10 => {
101
102
let block = P ( Block {
102
103
stmts : Vec :: new ( ) ,
103
104
id : DUMMY_NODE_ID ,
@@ -106,7 +107,7 @@ fn iter_exprs(depth: usize, f: &mut dyn FnMut(P<Expr>)) {
106
107
} ) ;
107
108
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: If ( e, block. clone ( ) , None ) ) ) ;
108
109
} ,
109
- 8 => {
110
+ 11 => {
110
111
let decl = P ( FnDecl {
111
112
inputs : vec ! [ ] ,
112
113
output : FunctionRetTy :: Default ( DUMMY_SP ) ,
@@ -120,33 +121,41 @@ fn iter_exprs(depth: usize, f: &mut dyn FnMut(P<Expr>)) {
120
121
e,
121
122
DUMMY_SP ) ) ) ;
122
123
} ,
123
- 9 => {
124
+ 12 => {
124
125
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Assign ( e, make_x ( ) ) ) ) ;
125
126
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Assign ( make_x ( ) , e) ) ) ;
126
127
} ,
127
- 10 => {
128
+ 13 => {
128
129
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Field ( e, Ident :: from_str ( "f" ) ) ) ) ;
129
130
} ,
130
- 11 => {
131
+ 14 => {
131
132
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Range (
132
133
Some ( e) , Some ( make_x ( ) ) , RangeLimits :: HalfOpen ) ) ) ;
133
134
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Range (
134
135
Some ( make_x ( ) ) , Some ( e) , RangeLimits :: HalfOpen ) ) ) ;
135
136
} ,
136
- 12 => {
137
+ 15 => {
137
138
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: AddrOf ( Mutability :: Immutable , e) ) ) ;
138
139
} ,
139
- 13 => {
140
+ 16 => {
140
141
g ( ExprKind :: Ret ( None ) ) ;
141
142
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Ret ( Some ( e) ) ) ) ;
142
143
} ,
143
- 14 => {
144
+ 17 => {
144
145
let path = Path :: from_ident ( Ident :: from_str ( "S" ) ) ;
145
146
g ( ExprKind :: Struct ( path, vec ! [ ] , Some ( make_x ( ) ) ) ) ;
146
147
} ,
147
- 15 => {
148
+ 18 => {
148
149
iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Try ( e) ) ) ;
149
150
} ,
151
+ 19 => {
152
+ let ps = vec ! [ P ( Pat {
153
+ id: DUMMY_NODE_ID ,
154
+ node: PatKind :: Wild ,
155
+ span: DUMMY_SP ,
156
+ } ) ] ;
157
+ iter_exprs ( depth - 1 , & mut |e| g ( ExprKind :: Let ( ps. clone ( ) , e) ) )
158
+ } ,
150
159
_ => panic ! ( "bad counter value in iter_exprs" ) ,
151
160
}
152
161
}
0 commit comments