Ignore external macros

This commit is contained in:
blyxyas
2023-03-14 20:59:39 +01:00
parent c465bf7f67
commit 3eea49446b
+5 -2
View File
@@ -6,7 +6,8 @@
use if_chain::if_chain;
use rustc_errors::Applicability;
use rustc_hir::{BinOpKind, Block, Expr, ExprKind, PatKind, QPath, Stmt, StmtKind};
use rustc_lint::{LateContext, LateLintPass};
use rustc_lint::{LateContext, LateLintPass, LintContext};
use rustc_middle::lint::in_external_macro;
use rustc_middle::ty;
use rustc_session::{declare_lint_pass, declare_tool_lint};
use rustc_span::source_map::Spanned;
@@ -75,7 +76,9 @@
impl<'tcx> LateLintPass<'tcx> for Swap {
fn check_block(&mut self, cx: &LateContext<'tcx>, block: &'tcx Block<'_>) {
check_manual_swap(cx, block);
check_suspicious_swap(cx, block);
if !in_external_macro(cx.sess(), block.span) {
check_suspicious_swap(cx, block);
}
check_xor_swap(cx, block);
}
}