mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
Add new condition to avoid derived code trigger lint
This commit is contained in:
parent
7c389acd27
commit
9661f9b177
@ -1,7 +1,7 @@
|
|||||||
use clippy_utils::diagnostics::{span_lint_hir, span_lint_hir_and_then};
|
use clippy_utils::diagnostics::{span_lint_hir, span_lint_hir_and_then};
|
||||||
use clippy_utils::source::snippet_opt;
|
use clippy_utils::source::snippet_opt;
|
||||||
use clippy_utils::ty::has_drop;
|
use clippy_utils::ty::has_drop;
|
||||||
use clippy_utils::{get_parent_node, is_lint_allowed, peel_blocks};
|
use clippy_utils::{any_parent_is_automatically_derived, get_parent_node, is_lint_allowed, peel_blocks};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def::{DefKind, Res};
|
use rustc_hir::def::{DefKind, Res};
|
||||||
use rustc_hir::{
|
use rustc_hir::{
|
||||||
@ -144,6 +144,7 @@ fn check_no_effect(cx: &LateContext<'_>, stmt: &Stmt<'_>) -> bool {
|
|||||||
}
|
}
|
||||||
} else if let StmtKind::Local(local) = stmt.kind {
|
} else if let StmtKind::Local(local) = stmt.kind {
|
||||||
if !is_lint_allowed(cx, NO_EFFECT_UNDERSCORE_BINDING, local.hir_id)
|
if !is_lint_allowed(cx, NO_EFFECT_UNDERSCORE_BINDING, local.hir_id)
|
||||||
|
&& !any_parent_is_automatically_derived(cx.tcx, local.hir_id)
|
||||||
&& let Some(init) = local.init
|
&& let Some(init) = local.init
|
||||||
&& local.els.is_none()
|
&& local.els.is_none()
|
||||||
&& !local.pat.span.from_expansion()
|
&& !local.pat.span.from_expansion()
|
||||||
|
Loading…
Reference in New Issue
Block a user