@@ -271,9 +271,7 @@ impl HirEqInterExpr<'_, '_, '_> {
271
271
( & ExprKind :: AddrOf ( lb, l_mut, le) , & ExprKind :: AddrOf ( rb, r_mut, re) ) => {
272
272
lb == rb && l_mut == r_mut && self . eq_expr ( le, re)
273
273
} ,
274
- ( & ExprKind :: Continue ( li) , & ExprKind :: Continue ( ri) ) => {
275
- both ( & li. label , & ri. label , |l, r| l. ident . name == r. ident . name )
276
- } ,
274
+ ( & ExprKind :: Array ( l) , & ExprKind :: Array ( r) ) => self . eq_exprs ( l, r) ,
277
275
( & ExprKind :: Assign ( ll, lr, _) , & ExprKind :: Assign ( rl, rr, _) ) => {
278
276
self . inner . allow_side_effects && self . eq_expr ( ll, rl) && self . eq_expr ( lr, rr)
279
277
} ,
@@ -297,6 +295,10 @@ impl HirEqInterExpr<'_, '_, '_> {
297
295
( & ExprKind :: Cast ( lx, lt) , & ExprKind :: Cast ( rx, rt) ) | ( & ExprKind :: Type ( lx, lt) , & ExprKind :: Type ( rx, rt) ) => {
298
296
self . eq_expr ( lx, rx) && self . eq_ty ( lt, rt)
299
297
} ,
298
+ ( & ExprKind :: Continue ( li) , & ExprKind :: Continue ( ri) ) => {
299
+ both ( & li. label , & ri. label , |l, r| l. ident . name == r. ident . name )
300
+ } ,
301
+ ( & ExprKind :: DropTemps ( le) , & ExprKind :: DropTemps ( re) ) => self . eq_expr ( le, re) ,
300
302
( & ExprKind :: Field ( l_f_exp, ref l_f_ident) , & ExprKind :: Field ( r_f_exp, ref r_f_ident) ) => {
301
303
l_f_ident. name == r_f_ident. name && self . eq_expr ( l_f_exp, r_f_exp)
302
304
} ,
@@ -329,23 +331,21 @@ impl HirEqInterExpr<'_, '_, '_> {
329
331
&& self . eq_expr ( l_receiver, r_receiver)
330
332
&& self . eq_exprs ( l_args, r_args)
331
333
} ,
334
+ ( & ExprKind :: OffsetOf ( l_container, l_fields) , & ExprKind :: OffsetOf ( r_container, r_fields) ) => {
335
+ self . eq_ty ( l_container, r_container) && over ( l_fields, r_fields, |l, r| l. name == r. name )
336
+ } ,
337
+ ( ExprKind :: Path ( l) , ExprKind :: Path ( r) ) => self . eq_qpath ( l, r) ,
332
338
( & ExprKind :: Repeat ( le, ll) , & ExprKind :: Repeat ( re, rl) ) => {
333
339
self . eq_expr ( le, re) && self . eq_array_length ( ll, rl)
334
340
} ,
335
341
( ExprKind :: Ret ( l) , ExprKind :: Ret ( r) ) => both ( l, r, |l, r| self . eq_expr ( l, r) ) ,
336
- ( ExprKind :: Path ( l) , ExprKind :: Path ( r) ) => self . eq_qpath ( l, r) ,
337
342
( & ExprKind :: Struct ( l_path, lf, ref lo) , & ExprKind :: Struct ( r_path, rf, ref ro) ) => {
338
343
self . eq_qpath ( l_path, r_path)
339
344
&& both ( lo, ro, |l, r| self . eq_expr ( l, r) )
340
345
&& over ( lf, rf, |l, r| self . eq_expr_field ( l, r) )
341
346
} ,
342
347
( & ExprKind :: Tup ( l_tup) , & ExprKind :: Tup ( r_tup) ) => self . eq_exprs ( l_tup, r_tup) ,
343
348
( & ExprKind :: Unary ( l_op, le) , & ExprKind :: Unary ( r_op, re) ) => l_op == r_op && self . eq_expr ( le, re) ,
344
- ( & ExprKind :: Array ( l) , & ExprKind :: Array ( r) ) => self . eq_exprs ( l, r) ,
345
- ( & ExprKind :: DropTemps ( le) , & ExprKind :: DropTemps ( re) ) => self . eq_expr ( le, re) ,
346
- ( & ExprKind :: OffsetOf ( l_container, l_fields) , & ExprKind :: OffsetOf ( r_container, r_fields) ) => {
347
- self . eq_ty ( l_container, r_container) && over ( l_fields, r_fields, |l, r| l. name == r. name )
348
- } ,
349
349
(
350
350
// Else branches for branches above, grouped as per `match_same_arms`.
351
351
| & ExprKind :: AddrOf ( ..)
0 commit comments