From 912b49dd2b9ffe00cdcc79747cab42d7e9ba8953 Mon Sep 17 00:00:00 2001 From: xizheyin Date: Sat, 5 Apr 2025 16:34:02 +0800 Subject: [PATCH] Suppress swapping equality suggestion in extern macro when check overloaded binop Signed-off-by: xizheyin --- compiler/rustc_hir_typeck/src/op.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_hir_typeck/src/op.rs b/compiler/rustc_hir_typeck/src/op.rs index 93f77b8409f00..ddcfe88448a8d 100644 --- a/compiler/rustc_hir_typeck/src/op.rs +++ b/compiler/rustc_hir_typeck/src/op.rs @@ -249,7 +249,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { rhs_ty_var, Some(lhs_expr), |err, ty| { - if let Op::BinOp(binop) = op + if !expr.span.in_external_macro(self.tcx.sess.source_map()) + && let Op::BinOp(binop) = op && binop.node == hir::BinOpKind::Eq { self.suggest_swapping_lhs_and_rhs(err, ty, lhs_ty, rhs_expr, lhs_expr);