@@ -271,9 +271,7 @@ impl HirEqInterExpr<'_, '_, '_> {
271271 ( & ExprKind :: AddrOf ( lb, l_mut, le) , & ExprKind :: AddrOf ( rb, r_mut, re) ) => {
272272 lb == rb && l_mut == r_mut && self . eq_expr ( le, re)
273273 } ,
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) ,
277275 ( & ExprKind :: Assign ( ll, lr, _) , & ExprKind :: Assign ( rl, rr, _) ) => {
278276 self . inner . allow_side_effects && self . eq_expr ( ll, rl) && self . eq_expr ( lr, rr)
279277 } ,
@@ -297,6 +295,10 @@ impl HirEqInterExpr<'_, '_, '_> {
297295 ( & ExprKind :: Cast ( lx, lt) , & ExprKind :: Cast ( rx, rt) ) | ( & ExprKind :: Type ( lx, lt) , & ExprKind :: Type ( rx, rt) ) => {
298296 self . eq_expr ( lx, rx) && self . eq_ty ( lt, rt)
299297 } ,
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) ,
300302 ( & ExprKind :: Field ( l_f_exp, ref l_f_ident) , & ExprKind :: Field ( r_f_exp, ref r_f_ident) ) => {
301303 l_f_ident. name == r_f_ident. name && self . eq_expr ( l_f_exp, r_f_exp)
302304 } ,
@@ -329,23 +331,21 @@ impl HirEqInterExpr<'_, '_, '_> {
329331 && self . eq_expr ( l_receiver, r_receiver)
330332 && self . eq_exprs ( l_args, r_args)
331333 } ,
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) ,
332338 ( & ExprKind :: Repeat ( le, ll) , & ExprKind :: Repeat ( re, rl) ) => {
333339 self . eq_expr ( le, re) && self . eq_array_length ( ll, rl)
334340 } ,
335341 ( 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) ,
337342 ( & ExprKind :: Struct ( l_path, lf, ref lo) , & ExprKind :: Struct ( r_path, rf, ref ro) ) => {
338343 self . eq_qpath ( l_path, r_path)
339344 && both ( lo, ro, |l, r| self . eq_expr ( l, r) )
340345 && over ( lf, rf, |l, r| self . eq_expr_field ( l, r) )
341346 } ,
342347 ( & ExprKind :: Tup ( l_tup) , & ExprKind :: Tup ( r_tup) ) => self . eq_exprs ( l_tup, r_tup) ,
343348 ( & 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- } ,
349349 (
350350 // Else branches for branches above, grouped as per `match_same_arms`.
351351 | & ExprKind :: AddrOf ( ..)
0 commit comments