mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-13 09:05:00 +00:00
commit
280069ddc7
@ -128,7 +128,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Arithmetic {
|
||||
}
|
||||
self.const_span = Some(body_span);
|
||||
},
|
||||
hir::BodyOwnerKind::Fn => (),
|
||||
hir::BodyOwnerKind::Fn | hir::BodyOwnerKind::Closure => (),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,9 +64,25 @@ pub fn differing_macro_contexts(lhs: Span, rhs: Span) -> bool {
|
||||
/// ```
|
||||
pub fn in_constant(cx: &LateContext<'_, '_>, id: NodeId) -> bool {
|
||||
let parent_id = cx.tcx.hir().get_parent(id);
|
||||
match cx.tcx.hir().body_owner_kind(parent_id) {
|
||||
hir::BodyOwnerKind::Fn => false,
|
||||
hir::BodyOwnerKind::Const | hir::BodyOwnerKind::Static(..) => true,
|
||||
match cx.tcx.hir().get(parent_id) {
|
||||
Node::Item(&Item {
|
||||
node: ItemKind::Const(..),
|
||||
..
|
||||
})
|
||||
| Node::TraitItem(&TraitItem {
|
||||
node: TraitItemKind::Const(..),
|
||||
..
|
||||
})
|
||||
| Node::ImplItem(&ImplItem {
|
||||
node: ImplItemKind::Const(..),
|
||||
..
|
||||
})
|
||||
| Node::AnonConst(_)
|
||||
| Node::Item(&Item {
|
||||
node: ItemKind::Static(..),
|
||||
..
|
||||
}) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user