Skip to content

Commit 8237efc

Browse files
authored
Rollup merge of rust-lang#100392 - nnethercote:simplify-visitors, r=cjgillot
Simplify visitors By removing some unused arguments. r? `@cjgillot`
2 parents cefcfda + b8b851f commit 8237efc

File tree

20 files changed

+60
-180
lines changed

20 files changed

+60
-180
lines changed

compiler/rustc_ast/src/visit.rs

+9-23
Original file line numberDiff line numberDiff line change
@@ -168,23 +168,17 @@ pub trait Visitor<'ast>: Sized {
168168
fn visit_param_bound(&mut self, bounds: &'ast GenericBound, _ctxt: BoundKind) {
169169
walk_param_bound(self, bounds)
170170
}
171-
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef, m: &'ast TraitBoundModifier) {
172-
walk_poly_trait_ref(self, t, m)
171+
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef) {
172+
walk_poly_trait_ref(self, t)
173173
}
174174
fn visit_variant_data(&mut self, s: &'ast VariantData) {
175175
walk_struct_def(self, s)
176176
}
177177
fn visit_field_def(&mut self, s: &'ast FieldDef) {
178178
walk_field_def(self, s)
179179
}
180-
fn visit_enum_def(
181-
&mut self,
182-
enum_definition: &'ast EnumDef,
183-
generics: &'ast Generics,
184-
item_id: NodeId,
185-
_: Span,
186-
) {
187-
walk_enum_def(self, enum_definition, generics, item_id)
180+
fn visit_enum_def(&mut self, enum_definition: &'ast EnumDef) {
181+
walk_enum_def(self, enum_definition)
188182
}
189183
fn visit_variant(&mut self, v: &'ast Variant) {
190184
walk_variant(self, v)
@@ -287,11 +281,8 @@ pub fn walk_lifetime<'a, V: Visitor<'a>>(visitor: &mut V, lifetime: &'a Lifetime
287281
visitor.visit_ident(lifetime.ident);
288282
}
289283

290-
pub fn walk_poly_trait_ref<'a, V>(
291-
visitor: &mut V,
292-
trait_ref: &'a PolyTraitRef,
293-
_: &TraitBoundModifier,
294-
) where
284+
pub fn walk_poly_trait_ref<'a, V>(visitor: &mut V, trait_ref: &'a PolyTraitRef)
285+
where
295286
V: Visitor<'a>,
296287
{
297288
walk_list!(visitor, visit_generic_param, &trait_ref.bound_generic_params);
@@ -334,7 +325,7 @@ pub fn walk_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a Item) {
334325
}
335326
ItemKind::Enum(ref enum_definition, ref generics) => {
336327
visitor.visit_generics(generics);
337-
visitor.visit_enum_def(enum_definition, generics, item.id, item.span)
328+
visitor.visit_enum_def(enum_definition)
338329
}
339330
ItemKind::Impl(box Impl {
340331
defaultness: _,
@@ -377,12 +368,7 @@ pub fn walk_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a Item) {
377368
walk_list!(visitor, visit_attribute, &item.attrs);
378369
}
379370

380-
pub fn walk_enum_def<'a, V: Visitor<'a>>(
381-
visitor: &mut V,
382-
enum_definition: &'a EnumDef,
383-
_: &'a Generics,
384-
_: NodeId,
385-
) {
371+
pub fn walk_enum_def<'a, V: Visitor<'a>>(visitor: &mut V, enum_definition: &'a EnumDef) {
386372
walk_list!(visitor, visit_variant, &enum_definition.variants);
387373
}
388374

@@ -598,7 +584,7 @@ pub fn walk_foreign_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a ForeignI
598584

599585
pub fn walk_param_bound<'a, V: Visitor<'a>>(visitor: &mut V, bound: &'a GenericBound) {
600586
match *bound {
601-
GenericBound::Trait(ref typ, ref modifier) => visitor.visit_poly_trait_ref(typ, modifier),
587+
GenericBound::Trait(ref typ, ref _modifier) => visitor.visit_poly_trait_ref(typ),
602588
GenericBound::Outlives(ref lifetime) => {
603589
visitor.visit_lifetime(lifetime, LifetimeCtxt::Bound)
604590
}

compiler/rustc_ast_lowering/src/index.rs

+2-2
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_ast_lowering/src/lifetime_collector.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
use super::ResolverAstLoweringExt;
22
use rustc_ast::visit::{self, BoundKind, LifetimeCtxt, Visitor};
3-
use rustc_ast::{
4-
FnRetTy, GenericBounds, Lifetime, NodeId, PathSegment, PolyTraitRef, TraitBoundModifier, Ty,
5-
TyKind,
6-
};
3+
use rustc_ast::{FnRetTy, GenericBounds, Lifetime, NodeId, PathSegment, PolyTraitRef, Ty, TyKind};
74
use rustc_hir::def::LifetimeRes;
85
use rustc_middle::span_bug;
96
use rustc_middle::ty::ResolverAstLowering;
@@ -71,10 +68,10 @@ impl<'ast> Visitor<'ast> for LifetimeCollectVisitor<'ast> {
7168
visit::walk_path_segment(self, path_span, path_segment);
7269
}
7370

74-
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef, m: &'ast TraitBoundModifier) {
71+
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef) {
7572
self.current_binders.push(t.trait_ref.ref_id);
7673

77-
visit::walk_poly_trait_ref(self, t, m);
74+
visit::walk_poly_trait_ref(self, t);
7875

7976
self.current_binders.pop();
8077
}

compiler/rustc_ast_passes/src/ast_validation.rs

+4-12
Original file line numberDiff line numberDiff line change
@@ -1536,25 +1536,17 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
15361536
visit::walk_param_bound(self, bound)
15371537
}
15381538

1539-
fn visit_poly_trait_ref(&mut self, t: &'a PolyTraitRef, m: &'a TraitBoundModifier) {
1539+
fn visit_poly_trait_ref(&mut self, t: &'a PolyTraitRef) {
15401540
self.check_late_bound_lifetime_defs(&t.bound_generic_params);
1541-
visit::walk_poly_trait_ref(self, t, m);
1541+
visit::walk_poly_trait_ref(self, t);
15421542
}
15431543

15441544
fn visit_variant_data(&mut self, s: &'a VariantData) {
15451545
self.with_banned_assoc_ty_bound(|this| visit::walk_struct_def(this, s))
15461546
}
15471547

1548-
fn visit_enum_def(
1549-
&mut self,
1550-
enum_definition: &'a EnumDef,
1551-
generics: &'a Generics,
1552-
item_id: NodeId,
1553-
_: Span,
1554-
) {
1555-
self.with_banned_assoc_ty_bound(|this| {
1556-
visit::walk_enum_def(this, enum_definition, generics, item_id)
1557-
})
1548+
fn visit_enum_def(&mut self, enum_definition: &'a EnumDef) {
1549+
self.with_banned_assoc_ty_bound(|this| visit::walk_enum_def(this, enum_definition))
15581550
}
15591551

15601552
fn visit_fn(&mut self, fk: FnKind<'a>, span: Span, id: NodeId) {

compiler/rustc_ast_passes/src/node_count.rs

+4-10
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ impl<'ast> Visitor<'ast> for NodeCounter {
7979
self.count += 1;
8080
walk_param_bound(self, bounds)
8181
}
82-
fn visit_poly_trait_ref(&mut self, t: &PolyTraitRef, m: &TraitBoundModifier) {
82+
fn visit_poly_trait_ref(&mut self, t: &PolyTraitRef) {
8383
self.count += 1;
84-
walk_poly_trait_ref(self, t, m)
84+
walk_poly_trait_ref(self, t)
8585
}
8686
fn visit_variant_data(&mut self, s: &VariantData) {
8787
self.count += 1;
@@ -91,15 +91,9 @@ impl<'ast> Visitor<'ast> for NodeCounter {
9191
self.count += 1;
9292
walk_field_def(self, s)
9393
}
94-
fn visit_enum_def(
95-
&mut self,
96-
enum_definition: &EnumDef,
97-
generics: &Generics,
98-
item_id: NodeId,
99-
_: Span,
100-
) {
94+
fn visit_enum_def(&mut self, enum_definition: &EnumDef) {
10195
self.count += 1;
102-
walk_enum_def(self, enum_definition, generics, item_id)
96+
walk_enum_def(self, enum_definition)
10397
}
10498
fn visit_variant(&mut self, v: &Variant) {
10599
self.count += 1;

compiler/rustc_builtin_macros/src/deriving/generic/mod.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -383,16 +383,12 @@ fn find_type_parameters(
383383
}
384384

385385
// Place bound generic params on a stack, to extract them when a type is encountered.
386-
fn visit_poly_trait_ref(
387-
&mut self,
388-
trait_ref: &'a ast::PolyTraitRef,
389-
modifier: &'a ast::TraitBoundModifier,
390-
) {
386+
fn visit_poly_trait_ref(&mut self, trait_ref: &'a ast::PolyTraitRef) {
391387
let stack_len = self.bound_generic_params_stack.len();
392388
self.bound_generic_params_stack
393389
.extend(trait_ref.bound_generic_params.clone().into_iter());
394390

395-
visit::walk_poly_trait_ref(self, trait_ref, modifier);
391+
visit::walk_poly_trait_ref(self, trait_ref);
396392

397393
self.bound_generic_params_stack.truncate(stack_len);
398394
}

compiler/rustc_hir/src/intravisit.rs

+10-41
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) {
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())
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/early.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,9 @@ impl<'a, T: EarlyLintPass> ast_visit::Visitor<'a> for EarlyContextAndPass<'a, T>
233233
ast_visit::walk_where_predicate(self, p);
234234
}
235235

236-
fn visit_poly_trait_ref(&mut self, t: &'a ast::PolyTraitRef, m: &'a ast::TraitBoundModifier) {
237-
run_early_pass!(self, check_poly_trait_ref, t, m);
238-
ast_visit::walk_poly_trait_ref(self, t, m);
236+
fn visit_poly_trait_ref(&mut self, t: &'a ast::PolyTraitRef) {
237+
run_early_pass!(self, check_poly_trait_ref, t);
238+
ast_visit::walk_poly_trait_ref(self, t);
239239
}
240240

241241
fn visit_assoc_item(&mut self, item: &'a ast::AssocItem, ctxt: ast_visit::AssocCtxt) {

compiler/rustc_lint/src/late.rs

+3-16
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

+2-7
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_lint/src/passes.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,7 @@ macro_rules! early_lint_methods {
156156
fn check_generic_arg(a: &ast::GenericArg);
157157
fn check_generic_param(a: &ast::GenericParam);
158158
fn check_generics(a: &ast::Generics);
159-
fn check_poly_trait_ref(a: &ast::PolyTraitRef,
160-
b: &ast::TraitBoundModifier);
159+
fn check_poly_trait_ref(a: &ast::PolyTraitRef);
161160
fn check_fn(a: rustc_ast::visit::FnKind<'_>, c: Span, d_: ast::NodeId);
162161
fn check_trait_item(a: &ast::AssocItem);
163162
fn check_impl_item(a: &ast::AssocItem);

compiler/rustc_mir_transform/src/lib.rs

+1-9
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
}

0 commit comments

Comments
 (0)