@@ -169,9 +169,22 @@ pub fn eq_expr(l: &Expr, r: &Expr) -> bool {
169169 ( Let ( lp, le, _, _) , Let ( rp, re, _, _) ) => eq_pat ( lp, rp) && eq_expr ( le, re) ,
170170 ( If ( lc, lt, le) , If ( rc, rt, re) ) => eq_expr ( lc, rc) && eq_block ( lt, rt) && eq_expr_opt ( le, re) ,
171171 ( While ( lc, lt, ll) , While ( rc, rt, rl) ) => eq_label ( ll, rl) && eq_expr ( lc, rc) && eq_block ( lt, rt) ,
172- ( ForLoop ( lp, li, lt, ll) , ForLoop ( rp, ri, rt, rl) ) => {
173- eq_label ( ll, rl) && eq_pat ( lp, rp) && eq_expr ( li, ri) && eq_block ( lt, rt)
174- } ,
172+ (
173+ ForLoop {
174+ pat : lp,
175+ iter : li,
176+ body : lt,
177+ label : ll,
178+ kind : lk,
179+ } ,
180+ ForLoop {
181+ pat : rp,
182+ iter : ri,
183+ body : rt,
184+ label : rl,
185+ kind : rk,
186+ } ,
187+ ) => eq_label ( ll, rl) && eq_pat ( lp, rp) && eq_expr ( li, ri) && eq_block ( lt, rt) && lk == rk,
175188 ( Loop ( lt, ll, _) , Loop ( rt, rl, _) ) => eq_label ( ll, rl) && eq_block ( lt, rt) ,
176189 ( Block ( lb, ll) , Block ( rb, rl) ) => eq_label ( ll, rl) && eq_block ( lb, rb) ,
177190 ( TryBlock ( l) , TryBlock ( r) ) => eq_block ( l, r) ,
0 commit comments