Skip to content

Commit b772fa6

Browse files
authored
Rollup merge of rust-lang#138150 - nnethercote:streamline-intravisit-visit_id, r=oli-obk
Streamline HIR intravisit `visit_id` calls for items A small clean up.
2 parents 282a37f + 8a98124 commit b772fa6

File tree

5 files changed

+13
-35
lines changed

5 files changed

+13
-35
lines changed

compiler/rustc_hir/src/intravisit.rs

+8-30
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,8 @@ pub trait Visitor<'v>: Sized {
316316
fn visit_ident(&mut self, ident: Ident) -> Self::Result {
317317
walk_ident(self, ident)
318318
}
319-
fn visit_mod(&mut self, m: &'v Mod<'v>, _s: Span, n: HirId) -> Self::Result {
320-
walk_mod(self, m, n)
319+
fn visit_mod(&mut self, m: &'v Mod<'v>, _s: Span, _n: HirId) -> Self::Result {
320+
walk_mod(self, m)
321321
}
322322
fn visit_foreign_item(&mut self, i: &'v ForeignItem<'v>) -> Self::Result {
323323
walk_foreign_item(self, i)
@@ -464,8 +464,8 @@ pub trait Visitor<'v>: Sized {
464464
fn visit_field_def(&mut self, s: &'v FieldDef<'v>) -> Self::Result {
465465
walk_field_def(self, s)
466466
}
467-
fn visit_enum_def(&mut self, enum_definition: &'v EnumDef<'v>, item_id: HirId) -> Self::Result {
468-
walk_enum_def(self, enum_definition, item_id)
467+
fn visit_enum_def(&mut self, enum_definition: &'v EnumDef<'v>) -> Self::Result {
468+
walk_enum_def(self, enum_definition)
469469
}
470470
fn visit_variant(&mut self, v: &'v Variant<'v>) -> Self::Result {
471471
walk_variant(self, v)
@@ -532,28 +532,25 @@ pub fn walk_param<'v, V: Visitor<'v>>(visitor: &mut V, param: &'v Param<'v>) ->
532532
}
533533

534534
pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::Result {
535+
try_visit!(visitor.visit_id(item.hir_id()));
535536
try_visit!(visitor.visit_ident(item.ident));
536537
match item.kind {
537538
ItemKind::ExternCrate(orig_name) => {
538-
try_visit!(visitor.visit_id(item.hir_id()));
539539
visit_opt!(visitor, visit_name, orig_name);
540540
}
541541
ItemKind::Use(ref path, _) => {
542542
try_visit!(visitor.visit_use(path, item.hir_id()));
543543
}
544544
ItemKind::Static(ref typ, _, body) => {
545-
try_visit!(visitor.visit_id(item.hir_id()));
546545
try_visit!(visitor.visit_ty_unambig(typ));
547546
try_visit!(visitor.visit_nested_body(body));
548547
}
549548
ItemKind::Const(ref typ, ref generics, body) => {
550-
try_visit!(visitor.visit_id(item.hir_id()));
551549
try_visit!(visitor.visit_ty_unambig(typ));
552550
try_visit!(visitor.visit_generics(generics));
553551
try_visit!(visitor.visit_nested_body(body));
554552
}
555553
ItemKind::Fn { sig, generics, body: body_id, .. } => {
556-
try_visit!(visitor.visit_id(item.hir_id()));
557554
try_visit!(visitor.visit_fn(
558555
FnKind::ItemFn(item.ident, generics, sig.header),
559556
sig.decl,
@@ -562,34 +559,27 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
562559
item.owner_id.def_id,
563560
));
564561
}
565-
ItemKind::Macro(..) => {
566-
try_visit!(visitor.visit_id(item.hir_id()));
567-
}
562+
ItemKind::Macro(..) => {}
568563
ItemKind::Mod(ref module) => {
569-
// `visit_mod()` takes care of visiting the `Item`'s `HirId`.
570564
try_visit!(visitor.visit_mod(module, item.span, item.hir_id()));
571565
}
572566
ItemKind::ForeignMod { abi: _, items } => {
573-
try_visit!(visitor.visit_id(item.hir_id()));
574567
walk_list!(visitor, visit_foreign_item_ref, items);
575568
}
576569
ItemKind::GlobalAsm { asm: _, fake_body } => {
577-
try_visit!(visitor.visit_id(item.hir_id()));
578570
// Visit the fake body, which contains the asm statement.
579571
// Therefore we should not visit the asm statement again
580572
// outside of the body, or some visitors won't have their
581573
// typeck results set correctly.
582574
try_visit!(visitor.visit_nested_body(fake_body));
583575
}
584576
ItemKind::TyAlias(ref ty, ref generics) => {
585-
try_visit!(visitor.visit_id(item.hir_id()));
586577
try_visit!(visitor.visit_ty_unambig(ty));
587578
try_visit!(visitor.visit_generics(generics));
588579
}
589580
ItemKind::Enum(ref enum_definition, ref generics) => {
590581
try_visit!(visitor.visit_generics(generics));
591-
// `visit_enum_def()` takes care of visiting the `Item`'s `HirId`.
592-
try_visit!(visitor.visit_enum_def(enum_definition, item.hir_id()));
582+
try_visit!(visitor.visit_enum_def(enum_definition));
593583
}
594584
ItemKind::Impl(Impl {
595585
constness: _,
@@ -602,7 +592,6 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
602592
self_ty,
603593
items,
604594
}) => {
605-
try_visit!(visitor.visit_id(item.hir_id()));
606595
try_visit!(visitor.visit_generics(generics));
607596
visit_opt!(visitor, visit_trait_ref, of_trait);
608597
try_visit!(visitor.visit_ty_unambig(self_ty));
@@ -611,17 +600,14 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
611600
ItemKind::Struct(ref struct_definition, ref generics)
612601
| ItemKind::Union(ref struct_definition, ref generics) => {
613602
try_visit!(visitor.visit_generics(generics));
614-
try_visit!(visitor.visit_id(item.hir_id()));
615603
try_visit!(visitor.visit_variant_data(struct_definition));
616604
}
617605
ItemKind::Trait(.., ref generics, bounds, trait_item_refs) => {
618-
try_visit!(visitor.visit_id(item.hir_id()));
619606
try_visit!(visitor.visit_generics(generics));
620607
walk_list!(visitor, visit_param_bound, bounds);
621608
walk_list!(visitor, visit_trait_item_ref, trait_item_refs);
622609
}
623610
ItemKind::TraitAlias(ref generics, bounds) => {
624-
try_visit!(visitor.visit_id(item.hir_id()));
625611
try_visit!(visitor.visit_generics(generics));
626612
walk_list!(visitor, visit_param_bound, bounds);
627613
}
@@ -638,12 +624,7 @@ pub fn walk_ident<'v, V: Visitor<'v>>(visitor: &mut V, ident: Ident) -> V::Resul
638624
visitor.visit_name(ident.name)
639625
}
640626

641-
pub fn walk_mod<'v, V: Visitor<'v>>(
642-
visitor: &mut V,
643-
module: &'v Mod<'v>,
644-
mod_hir_id: HirId,
645-
) -> V::Result {
646-
try_visit!(visitor.visit_id(mod_hir_id));
627+
pub fn walk_mod<'v, V: Visitor<'v>>(visitor: &mut V, module: &'v Mod<'v>) -> V::Result {
647628
walk_list!(visitor, visit_nested_item, module.item_ids.iter().copied());
648629
V::Result::output()
649630
}
@@ -1148,7 +1129,6 @@ pub fn walk_use<'v, V: Visitor<'v>>(
11481129
path: &'v UsePath<'v>,
11491130
hir_id: HirId,
11501131
) -> V::Result {
1151-
try_visit!(visitor.visit_id(hir_id));
11521132
let UsePath { segments, ref res, span } = *path;
11531133
for &res in res {
11541134
try_visit!(visitor.visit_path(&Path { segments, res, span }, hir_id));
@@ -1329,9 +1309,7 @@ pub fn walk_field_def<'v, V: Visitor<'v>>(
13291309
pub fn walk_enum_def<'v, V: Visitor<'v>>(
13301310
visitor: &mut V,
13311311
enum_definition: &'v EnumDef<'v>,
1332-
item_id: HirId,
13331312
) -> V::Result {
1334-
try_visit!(visitor.visit_id(item_id));
13351313
walk_list!(visitor, visit_variant, enum_definition.variants);
13361314
V::Result::output()
13371315
}

compiler/rustc_lint/src/late.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ impl<'tcx, T: LateLintPass<'tcx>> LateContextAndPass<'tcx, T> {
7474

7575
fn process_mod(&mut self, m: &'tcx hir::Mod<'tcx>, n: HirId) {
7676
lint_callback!(self, check_mod, m, n);
77-
hir_visit::walk_mod(self, m, n);
77+
hir_visit::walk_mod(self, m);
7878
}
7979
}
8080

compiler/rustc_middle/src/hir/map.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1356,7 +1356,7 @@ impl<'hir> Visitor<'hir> for ItemCollector<'hir> {
13561356
self.submodules.push(item.owner_id);
13571357
// A module collector does not recurse inside nested modules.
13581358
if self.crate_collector {
1359-
intravisit::walk_mod(self, module, item.hir_id());
1359+
intravisit::walk_mod(self, module);
13601360
}
13611361
} else {
13621362
intravisit::walk_item(self, item)

compiler/rustc_passes/src/input_stats.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,9 @@ impl<'v> hir_visit::Visitor<'v> for StatCollector<'v> {
255255
hir_visit::walk_body(self, b);
256256
}
257257

258-
fn visit_mod(&mut self, m: &'v hir::Mod<'v>, _s: Span, n: HirId) {
258+
fn visit_mod(&mut self, m: &'v hir::Mod<'v>, _s: Span, _n: HirId) {
259259
self.record("Mod", None, m);
260-
hir_visit::walk_mod(self, m, n)
260+
hir_visit::walk_mod(self, m)
261261
}
262262

263263
fn visit_foreign_item(&mut self, i: &'v hir::ForeignItem<'v>) {

src/librustdoc/html/render/span_map.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ impl<'tcx> Visitor<'tcx> for SpanMapVisitor<'tcx> {
251251
// If it's a "mod foo {}", we want to look to its documentation page.
252252
self.extract_info_from_hir_id(id);
253253
}
254-
intravisit::walk_mod(self, m, id);
254+
intravisit::walk_mod(self, m);
255255
}
256256

257257
fn visit_expr(&mut self, expr: &'tcx rustc_hir::Expr<'tcx>) {

0 commit comments

Comments
 (0)