Skip to content

Commit 6a700f9

Browse files
committed
Use somewhat more future-proof filter for HIR walk
1 parent 616482e commit 6a700f9

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

compiler/rustc_mir_transform/src/check_unsafety.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use rustc_hir::def_id::{DefId, LocalDefId};
55
use rustc_hir::hir_id::HirId;
66
use rustc_hir::intravisit;
77
use rustc_hir::Node;
8-
use rustc_middle::hir::nested_filter;
98
use rustc_middle::mir::visit::{MutatingUseContext, PlaceContext, Visitor};
109
use rustc_middle::mir::*;
1110
use rustc_middle::ty::query::Providers;
@@ -409,11 +408,6 @@ struct UnusedUnsafeVisitor<'a, 'tcx> {
409408
}
410409

411410
impl<'tcx> intravisit::Visitor<'tcx> for UnusedUnsafeVisitor<'_, 'tcx> {
412-
type NestedFilter = nested_filter::OnlyBodies;
413-
fn nested_visit_map(&mut self) -> Self::Map {
414-
self.tcx.hir()
415-
}
416-
417411
fn visit_block(&mut self, block: &'tcx hir::Block<'tcx>) {
418412
if let hir::BlockCheckMode::UnsafeBlock(hir::UnsafeSource::UserProvided) = block.rules {
419413
let used = match self.tcx.lint_level_at_node(UNUSED_UNSAFE, block.hir_id) {
@@ -440,7 +434,18 @@ impl<'tcx> intravisit::Visitor<'tcx> for UnusedUnsafeVisitor<'_, 'tcx> {
440434
intravisit::walk_block(self, block);
441435
}
442436

443-
fn visit_anon_const(&mut self, _c: &'tcx hir::AnonConst) {}
437+
fn visit_fn(
438+
&mut self,
439+
fk: intravisit::FnKind<'tcx>,
440+
_fd: &'tcx hir::FnDecl<'tcx>,
441+
b: hir::BodyId,
442+
_s: rustc_span::Span,
443+
_id: HirId,
444+
) {
445+
if matches!(fk, intravisit::FnKind::Closure) {
446+
self.visit_body(self.tcx.hir().body(b))
447+
}
448+
}
444449
}
445450

446451
fn check_unused_unsafe(

0 commit comments

Comments
 (0)