Skip to content

Commit 38cdf63

Browse files
committed
Don't make decisions on values that don't represent the decision
1 parent 3168023 commit 38cdf63

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

clippy_lints/src/utils/mod.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,14 @@ pub fn differing_macro_contexts(lhs: Span, rhs: Span) -> bool {
6464
/// ```
6565
pub fn in_constant(cx: &LateContext<'_, '_>, id: NodeId) -> bool {
6666
let parent_id = cx.tcx.hir().get_parent(id);
67-
match cx.tcx.hir().body_owner_kind(parent_id) {
68-
hir::BodyOwnerKind::Fn | hir::BodyOwnerKind::Closure => false,
69-
hir::BodyOwnerKind::Const | hir::BodyOwnerKind::Static(..) => true,
67+
match cx.tcx.hir().get(parent_id) {
68+
| Node::Item(&Item { node: ItemKind::Const(..), .. })
69+
| Node::TraitItem(&TraitItem { node: TraitItemKind::Const(..), .. })
70+
| Node::ImplItem(&ImplItem { node: ImplItemKind::Const(..), .. })
71+
| Node::AnonConst(_)
72+
| Node::Item(&Item { node: ItemKind::Static(..), .. })
73+
=> true,
74+
_ => false,
7075
}
7176
}
7277

0 commit comments

Comments
 (0)