Skip to content

Commit

Permalink
use in_constant
Browse files Browse the repository at this point in the history
  • Loading branch information
TaKO8Ki committed Apr 30, 2021
1 parent 65778fa commit 0dff377
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions clippy_lints/src/comparison_chain.rs
Original file line number Diff line number Diff line change
@@ -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};

Expand Down Expand Up @@ -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;
}

Expand Down Expand Up @@ -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,
}
}

0 comments on commit 0dff377

Please sign in to comment.