X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fno_effect.rs;h=b8bfa676a16088cd6b412626308b033b833ddb74;hb=2ff568d746e4641b992c0b74bea046e43a637997;hp=409eae184ebe372269e185731d3023c9a7d46f72;hpb=2677a4ef02ce309be49643ad7cd0beab6375a0f3;p=rust.git diff --git a/clippy_lints/src/no_effect.rs b/clippy_lints/src/no_effect.rs index 409eae184eb..b8bfa676a16 100644 --- a/clippy_lints/src/no_effect.rs +++ b/clippy_lints/src/no_effect.rs @@ -1,8 +1,8 @@ use crate::utils::{has_drop, qpath_res, snippet_opt, span_lint, span_lint_and_sugg}; -use rustc::lint::{LateContext, LateLintPass}; use rustc_errors::Applicability; use rustc_hir::def::{DefKind, Res}; use rustc_hir::{BinOpKind, BlockCheckMode, Expr, ExprKind, Stmt, StmtKind, UnsafeSource}; +use rustc_lint::{LateContext, LateLintPass}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use std::ops::Deref; @@ -69,7 +69,7 @@ fn has_no_effect(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { if let ExprKind::Path(ref qpath) = callee.kind { let res = qpath_res(cx, qpath, callee.hir_id); match res { - Res::Def(DefKind::Struct, ..) | Res::Def(DefKind::Variant, ..) | Res::Def(DefKind::Ctor(..), _) => { + Res::Def(DefKind::Struct | DefKind::Variant | DefKind::Ctor(..), ..) => { !has_drop(cx, cx.tables.expr_ty(expr)) && args.iter().all(|arg| has_no_effect(cx, arg)) }, _ => false,