Skip to content

Commit 8c53038

Browse files
committed
Simplify rustc_hir::intravisit::Visitor::visit_variant_data.
It has four arguments that are never used. This avoids lots of argument passing in functions that feed into `visit_variant_data`.
1 parent f03ce30 commit 8c53038

File tree

11 files changed

+32
-116
lines changed

11 files changed

+32
-116
lines changed

compiler/rustc_ast_lowering/src/index.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,14 +295,14 @@ impl<'a, 'hir> Visitor<'hir> for NodeCollector<'a, 'hir> {
295295
self.insert(lifetime.span, lifetime.hir_id, Node::Lifetime(lifetime));
296296
}
297297

298-
fn visit_variant(&mut self, v: &'hir Variant<'hir>, g: &'hir Generics<'hir>, item_id: HirId) {
298+
fn visit_variant(&mut self, v: &'hir Variant<'hir>) {
299299
self.insert(v.span, v.id, Node::Variant(v));
300300
self.with_parent(v.id, |this| {
301301
// Register the constructor of this variant.
302302
if let Some(ctor_hir_id) = v.data.ctor_hir_id() {
303303
this.insert(v.span, ctor_hir_id, Node::Ctor(&v.data));
304304
}
305-
intravisit::walk_variant(this, v, g, item_id);
305+
intravisit::walk_variant(this, v);
306306
});
307307
}
308308

compiler/rustc_hir/src/intravisit.rs

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -385,30 +385,17 @@ pub trait Visitor<'v>: Sized {
385385
fn visit_poly_trait_ref(&mut self, t: &'v PolyTraitRef<'v>, m: TraitBoundModifier) {
386386
walk_poly_trait_ref(self, t, m)
387387
}
388-
fn visit_variant_data(
389-
&mut self,
390-
s: &'v VariantData<'v>,
391-
_: Symbol,
392-
_: &'v Generics<'v>,
393-
_parent_id: HirId,
394-
_: Span,
395-
) {
388+
fn visit_variant_data(&mut self, s: &'v VariantData<'v>) {
396389
walk_struct_def(self, s)
397390
}
398391
fn visit_field_def(&mut self, s: &'v FieldDef<'v>) {
399392
walk_field_def(self, s)
400393
}
401-
fn visit_enum_def(
402-
&mut self,
403-
enum_definition: &'v EnumDef<'v>,
404-
generics: &'v Generics<'v>,
405-
item_id: HirId,
406-
_: Span,
407-
) {
408-
walk_enum_def(self, enum_definition, generics, item_id)
394+
fn visit_enum_def(&mut self, enum_definition: &'v EnumDef<'v>, item_id: HirId, _: Span) {
395+
walk_enum_def(self, enum_definition, item_id)
409396
}
410-
fn visit_variant(&mut self, v: &'v Variant<'v>, g: &'v Generics<'v>, item_id: HirId) {
411-
walk_variant(self, v, g, item_id)
397+
fn visit_variant(&mut self, v: &'v Variant<'v>) {
398+
walk_variant(self, v)
412399
}
413400
fn visit_label(&mut self, label: &'v Label) {
414401
walk_label(self, label)
@@ -572,7 +559,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) {
572559
ItemKind::Enum(ref enum_definition, ref generics) => {
573560
visitor.visit_generics(generics);
574561
// `visit_enum_def()` takes care of visiting the `Item`'s `HirId`.
575-
visitor.visit_enum_def(enum_definition, generics, item.hir_id(), item.span)
562+
visitor.visit_enum_def(enum_definition, item.hir_id(), item.span)
576563
}
577564
ItemKind::Impl(Impl {
578565
unsafety: _,
@@ -595,13 +582,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) {
595582
| ItemKind::Union(ref struct_definition, ref generics) => {
596583
visitor.visit_generics(generics);
597584
visitor.visit_id(item.hir_id());
598-
visitor.visit_variant_data(
599-
struct_definition,
600-
item.ident.name,
601-
generics,
602-
item.hir_id(),
603-
item.span,
604-
);
585+
visitor.visit_variant_data(struct_definition);
605586
}
606587
ItemKind::Trait(.., ref generics, bounds, trait_item_refs) => {
607588
visitor.visit_id(item.hir_id());
@@ -649,28 +630,16 @@ pub fn walk_use<'v, V: Visitor<'v>>(visitor: &mut V, path: &'v Path<'v>, hir_id:
649630
pub fn walk_enum_def<'v, V: Visitor<'v>>(
650631
visitor: &mut V,
651632
enum_definition: &'v EnumDef<'v>,
652-
generics: &'v Generics<'v>,
653633
item_id: HirId,
654634
) {
655635
visitor.visit_id(item_id);
656-
walk_list!(visitor, visit_variant, enum_definition.variants, generics, item_id);
636+
walk_list!(visitor, visit_variant, enum_definition.variants);
657637
}
658638

659-
pub fn walk_variant<'v, V: Visitor<'v>>(
660-
visitor: &mut V,
661-
variant: &'v Variant<'v>,
662-
generics: &'v Generics<'v>,
663-
parent_item_id: HirId,
664-
) {
639+
pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, variant: &'v Variant<'v>) {
665640
visitor.visit_ident(variant.ident);
666641
visitor.visit_id(variant.id);
667-
visitor.visit_variant_data(
668-
&variant.data,
669-
variant.ident.name,
670-
generics,
671-
parent_item_id,
672-
variant.span,
673-
);
642+
visitor.visit_variant_data(&variant.data);
674643
walk_list!(visitor, visit_anon_const, &variant.disr_expr);
675644
}
676645

compiler/rustc_lint/src/late.rs

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use rustc_hir::intravisit::Visitor;
2424
use rustc_middle::hir::nested_filter;
2525
use rustc_middle::ty::{self, TyCtxt};
2626
use rustc_session::lint::LintPass;
27-
use rustc_span::symbol::Symbol;
2827
use rustc_span::Span;
2928

3029
use std::any::Any;
@@ -194,14 +193,7 @@ impl<'tcx, T: LateLintPass<'tcx>> hir_visit::Visitor<'tcx> for LateContextAndPas
194193
self.context.cached_typeck_results.set(old_cached_typeck_results);
195194
}
196195

197-
fn visit_variant_data(
198-
&mut self,
199-
s: &'tcx hir::VariantData<'tcx>,
200-
_: Symbol,
201-
_: &'tcx hir::Generics<'tcx>,
202-
_: hir::HirId,
203-
_: Span,
204-
) {
196+
fn visit_variant_data(&mut self, s: &'tcx hir::VariantData<'tcx>) {
205197
lint_callback!(self, check_struct_def, s);
206198
hir_visit::walk_struct_def(self, s);
207199
}
@@ -213,15 +205,10 @@ impl<'tcx, T: LateLintPass<'tcx>> hir_visit::Visitor<'tcx> for LateContextAndPas
213205
})
214206
}
215207

216-
fn visit_variant(
217-
&mut self,
218-
v: &'tcx hir::Variant<'tcx>,
219-
g: &'tcx hir::Generics<'tcx>,
220-
item_id: hir::HirId,
221-
) {
208+
fn visit_variant(&mut self, v: &'tcx hir::Variant<'tcx>) {
222209
self.with_lint_attrs(v.id, |cx| {
223210
lint_callback!(cx, check_variant, v);
224-
hir_visit::walk_variant(cx, v, g, item_id);
211+
hir_visit::walk_variant(cx, v);
225212
})
226213
}
227214

compiler/rustc_lint/src/levels.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -772,14 +772,9 @@ impl<'tcx> intravisit::Visitor<'tcx> for LintLevelMapBuilder<'tcx> {
772772
})
773773
}
774774

775-
fn visit_variant(
776-
&mut self,
777-
v: &'tcx hir::Variant<'tcx>,
778-
g: &'tcx hir::Generics<'tcx>,
779-
item_id: hir::HirId,
780-
) {
775+
fn visit_variant(&mut self, v: &'tcx hir::Variant<'tcx>) {
781776
self.with_lint_attrs(v.id, |builder| {
782-
intravisit::walk_variant(builder, v, g, item_id);
777+
intravisit::walk_variant(builder, v);
783778
})
784779
}
785780

compiler/rustc_mir_transform/src/lib.rs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ use rustc_middle::mir::visit::Visitor as _;
2929
use rustc_middle::mir::{traversal, Body, ConstQualifs, MirPass, MirPhase, Promoted};
3030
use rustc_middle::ty::query::Providers;
3131
use rustc_middle::ty::{self, TyCtxt, TypeVisitable};
32-
use rustc_span::{Span, Symbol};
3332

3433
#[macro_use]
3534
mod pass_manager;
@@ -159,14 +158,7 @@ fn mir_keys(tcx: TyCtxt<'_>, (): ()) -> FxIndexSet<LocalDefId> {
159158
set: &'a mut FxIndexSet<LocalDefId>,
160159
}
161160
impl<'tcx> Visitor<'tcx> for GatherCtors<'_, 'tcx> {
162-
fn visit_variant_data(
163-
&mut self,
164-
v: &'tcx hir::VariantData<'tcx>,
165-
_: Symbol,
166-
_: &'tcx hir::Generics<'tcx>,
167-
_: hir::HirId,
168-
_: Span,
169-
) {
161+
fn visit_variant_data(&mut self, v: &'tcx hir::VariantData<'tcx>) {
170162
if let hir::VariantData::Tuple(_, hir_id) = *v {
171163
self.set.insert(self.tcx.hir().local_def_id(hir_id));
172164
}

compiler/rustc_passes/src/check_attr.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2066,14 +2066,9 @@ impl<'tcx> Visitor<'tcx> for CheckAttrVisitor<'tcx> {
20662066
intravisit::walk_expr(self, expr)
20672067
}
20682068

2069-
fn visit_variant(
2070-
&mut self,
2071-
variant: &'tcx hir::Variant<'tcx>,
2072-
generics: &'tcx hir::Generics<'tcx>,
2073-
item_id: HirId,
2074-
) {
2069+
fn visit_variant(&mut self, variant: &'tcx hir::Variant<'tcx>) {
20752070
self.check_attributes(variant.id, variant.span, Target::Variant, None);
2076-
intravisit::walk_variant(self, variant, generics, item_id)
2071+
intravisit::walk_variant(self, variant)
20772072
}
20782073

20792074
fn visit_param(&mut self, param: &'tcx hir::Param<'tcx>) {

compiler/rustc_passes/src/dead.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -368,14 +368,7 @@ impl<'tcx> Visitor<'tcx> for MarkSymbolVisitor<'tcx> {
368368
self.maybe_typeck_results = old_maybe_typeck_results;
369369
}
370370

371-
fn visit_variant_data(
372-
&mut self,
373-
def: &'tcx hir::VariantData<'tcx>,
374-
_: Symbol,
375-
_: &hir::Generics<'_>,
376-
_: hir::HirId,
377-
_: rustc_span::Span,
378-
) {
371+
fn visit_variant_data(&mut self, def: &'tcx hir::VariantData<'tcx>) {
379372
let tcx = self.tcx;
380373
let has_repr_c = self.repr_has_repr_c;
381374
let has_repr_simd = self.repr_has_repr_simd;

compiler/rustc_passes/src/hir_stats.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -203,14 +203,9 @@ impl<'v> hir_visit::Visitor<'v> for StatCollector<'v> {
203203
hir_visit::walk_field_def(self, s)
204204
}
205205

206-
fn visit_variant(
207-
&mut self,
208-
v: &'v hir::Variant<'v>,
209-
g: &'v hir::Generics<'v>,
210-
item_id: hir::HirId,
211-
) {
206+
fn visit_variant(&mut self, v: &'v hir::Variant<'v>) {
212207
self.record("Variant", Id::None, v);
213-
hir_visit::walk_variant(self, v, g, item_id)
208+
hir_visit::walk_variant(self, v)
214209
}
215210

216211
fn visit_lifetime(&mut self, lifetime: &'v hir::Lifetime) {

compiler/rustc_passes/src/stability.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use rustc_hir::def::{DefKind, Res};
1010
use rustc_hir::def_id::{LocalDefId, CRATE_DEF_ID};
1111
use rustc_hir::hir_id::CRATE_HIR_ID;
1212
use rustc_hir::intravisit::{self, Visitor};
13-
use rustc_hir::{FieldDef, Generics, HirId, Item, ItemKind, TraitRef, Ty, TyKind, Variant};
13+
use rustc_hir::{FieldDef, Item, ItemKind, TraitRef, Ty, TyKind, Variant};
1414
use rustc_middle::hir::nested_filter;
1515
use rustc_middle::middle::privacy::AccessLevels;
1616
use rustc_middle::middle::stability::{AllowUnstable, DeprecationEntry, Index};
@@ -434,7 +434,7 @@ impl<'a, 'tcx> Visitor<'tcx> for Annotator<'a, 'tcx> {
434434
);
435435
}
436436

437-
fn visit_variant(&mut self, var: &'tcx Variant<'tcx>, g: &'tcx Generics<'tcx>, item_id: HirId) {
437+
fn visit_variant(&mut self, var: &'tcx Variant<'tcx>) {
438438
self.annotate(
439439
self.tcx.hir().local_def_id(var.id),
440440
var.span,
@@ -457,7 +457,7 @@ impl<'a, 'tcx> Visitor<'tcx> for Annotator<'a, 'tcx> {
457457
);
458458
}
459459

460-
intravisit::walk_variant(v, var, g, item_id)
460+
intravisit::walk_variant(v, var)
461461
},
462462
)
463463
}
@@ -590,9 +590,9 @@ impl<'tcx> Visitor<'tcx> for MissingStabilityAnnotations<'tcx> {
590590
intravisit::walk_impl_item(self, ii);
591591
}
592592

593-
fn visit_variant(&mut self, var: &'tcx Variant<'tcx>, g: &'tcx Generics<'tcx>, item_id: HirId) {
593+
fn visit_variant(&mut self, var: &'tcx Variant<'tcx>) {
594594
self.check_missing_stability(self.tcx.hir().local_def_id(var.id), var.span);
595-
intravisit::walk_variant(self, var, g, item_id);
595+
intravisit::walk_variant(self, var);
596596
}
597597

598598
fn visit_field_def(&mut self, s: &'tcx FieldDef<'tcx>) {

compiler/rustc_privacy/src/lib.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,15 +1625,10 @@ impl<'a, 'tcx> Visitor<'tcx> for ObsoleteVisiblePrivateTypesVisitor<'a, 'tcx> {
16251625
intravisit::walk_ty(self, t)
16261626
}
16271627

1628-
fn visit_variant(
1629-
&mut self,
1630-
v: &'tcx hir::Variant<'tcx>,
1631-
g: &'tcx hir::Generics<'tcx>,
1632-
item_id: hir::HirId,
1633-
) {
1628+
fn visit_variant(&mut self, v: &'tcx hir::Variant<'tcx>) {
16341629
if self.access_levels.is_reachable(self.tcx.hir().local_def_id(v.id)) {
16351630
self.in_variant = true;
1636-
intravisit::walk_variant(self, v, g, item_id);
1631+
intravisit::walk_variant(self, v);
16371632
self.in_variant = false;
16381633
}
16391634
}

src/librustdoc/doctest.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,14 +1289,9 @@ impl<'a, 'hir, 'tcx> intravisit::Visitor<'hir> for HirCollector<'a, 'hir, 'tcx>
12891289
});
12901290
}
12911291

1292-
fn visit_variant(
1293-
&mut self,
1294-
v: &'hir hir::Variant<'_>,
1295-
g: &'hir hir::Generics<'_>,
1296-
item_id: hir::HirId,
1297-
) {
1292+
fn visit_variant(&mut self, v: &'hir hir::Variant<'_>) {
12981293
self.visit_testable(v.ident.to_string(), v.id, v.span, |this| {
1299-
intravisit::walk_variant(this, v, g, item_id);
1294+
intravisit::walk_variant(this, v);
13001295
});
13011296
}
13021297

0 commit comments

Comments
 (0)