about summary refs log tree commit diff
path: root/compiler/rustc_lint/src/builtin.rs
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2025-07-16 15:39:31 +0900
committeranatawa12 <anatawa12@icloud.com>2025-07-17 11:24:17 +0900
commitfad8dec970f51a2d4c23593b059b1684bd85472a (patch)
tree669c7037e4b68a0c52d7a3cf5e9108ad5d4963ba /compiler/rustc_lint/src/builtin.rs
parent3014e79f9c8d5510ea7b3a3b70d171d0948b1e96 (diff)
downloadrust-fad8dec970f51a2d4c23593b059b1684bd85472a.tar.gz
rust-fad8dec970f51a2d4c23593b059b1684bd85472a.zip
fix: false positive double_negations when it jumps macro boundary
Diffstat (limited to 'compiler/rustc_lint/src/builtin.rs')
-rw-r--r--compiler/rustc_lint/src/builtin.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_lint/src/builtin.rs b/compiler/rustc_lint/src/builtin.rs
index 255ff56f62b..93df056c43b 100644
--- a/compiler/rustc_lint/src/builtin.rs
+++ b/compiler/rustc_lint/src/builtin.rs
@@ -1584,6 +1584,8 @@ impl EarlyLintPass for DoubleNegations {
         if let ExprKind::Unary(UnOp::Neg, ref inner) = expr.kind
             && let ExprKind::Unary(UnOp::Neg, ref inner2) = inner.kind
             && !matches!(inner2.kind, ExprKind::Unary(UnOp::Neg, _))
+            // Don't lint if this jumps macro expansion boundary (Issue #143980)
+            && expr.span.eq_ctxt(inner.span)
         {
             cx.emit_span_lint(
                 DOUBLE_NEGATIONS,