diff options
| author | Takayuki <takoyaki0316@gmail.com> | 2021-04-30 14:40:35 +0900 |
|---|---|---|
| committer | Takayuki <takoyaki0316@gmail.com> | 2021-04-30 14:40:35 +0900 |
| commit | 0dff377a62b3ae24ceb88ff0a9070f3a4e3d5552 (patch) | |
| tree | 2970821bf00e37cdc4e6197bf223ea4060413626 | |
| parent | 65778fa5e886c641422501e68ec7ffbe690abafc (diff) | |
| download | rust-0dff377a62b3ae24ceb88ff0a9070f3a4e3d5552.tar.gz rust-0dff377a62b3ae24ceb88ff0a9070f3a4e3d5552.zip | |
use `in_constant`
| -rw-r--r-- | clippy_lints/src/comparison_chain.rs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/clippy_lints/src/comparison_chain.rs b/clippy_lints/src/comparison_chain.rs index 150d8a3d673..2a61d58e653 100644 --- a/clippy_lints/src/comparison_chain.rs +++ b/clippy_lints/src/comparison_chain.rs @@ -1,7 +1,7 @@ use clippy_utils::diagnostics::span_lint_and_help; use clippy_utils::ty::implements_trait; -use clippy_utils::{get_trait_def_id, if_sequence, is_else_clause, paths, SpanlessEq}; -use rustc_hir::{BinOpKind, Expr, ExprKind, Node}; +use clippy_utils::{get_trait_def_id, if_sequence, in_constant, is_else_clause, paths, SpanlessEq}; +use rustc_hir::{BinOpKind, Expr, ExprKind}; use rustc_lint::{LateContext, LateLintPass}; use rustc_session::{declare_lint_pass, declare_tool_lint}; @@ -64,7 +64,7 @@ impl<'tcx> LateLintPass<'tcx> for ComparisonChain { return; } - if parent_node_is_if_const_fn(cx, expr) { + if in_constant(cx, expr.hir_id) { return; } @@ -127,11 +127,3 @@ impl<'tcx> LateLintPass<'tcx> for ComparisonChain { fn kind_is_cmp(kind: BinOpKind) -> bool { matches!(kind, BinOpKind::Lt | BinOpKind::Gt | BinOpKind::Eq) } - -fn parent_node_is_if_const_fn(cx: &LateContext<'_>, expr: &Expr<'_>) -> bool { - match cx.tcx.hir().find(cx.tcx.hir().get_parent_item(expr.hir_id)) { - Some(Node::Item(item)) => rustc_mir::const_eval::is_const_fn(cx.tcx, item.def_id.to_def_id()), - Some(Node::ImplItem(impl_item)) => rustc_mir::const_eval::is_const_fn(cx.tcx, impl_item.def_id.to_def_id()), - _ => false, - } -} |
