Skip to content

Commit 30c3979

Browse files
authored
Unrolled build for #141636
Rollup merge of #141636 - fee1-dead-contrib:push-ntqvvxwuvrvx, r=petrochenkov avoid some usages of `&mut P<T>` in AST visitors It's a double indirection, and is also complicating our efforts at #127615. r? `@ghost`
2 parents 1bbd62e + 367a877 commit 30c3979

File tree

5 files changed

+30
-33
lines changed

5 files changed

+30
-33
lines changed

compiler/rustc_ast/src/mut_visit.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ pub trait MutVisitor: Sized {
7777
walk_use_tree(self, use_tree);
7878
}
7979

80-
fn visit_foreign_item(&mut self, ni: &mut P<ForeignItem>) {
80+
fn visit_foreign_item(&mut self, ni: &mut ForeignItem) {
8181
walk_item(self, ni);
8282
}
8383

8484
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
8585
walk_flat_map_foreign_item(self, ni)
8686
}
8787

88-
fn visit_item(&mut self, i: &mut P<Item>) {
88+
fn visit_item(&mut self, i: &mut Item) {
8989
walk_item(self, i);
9090
}
9191

@@ -105,7 +105,7 @@ pub trait MutVisitor: Sized {
105105
walk_flat_map_field_def(self, fd)
106106
}
107107

108-
fn visit_assoc_item(&mut self, i: &mut P<AssocItem>, ctxt: AssocCtxt) {
108+
fn visit_assoc_item(&mut self, i: &mut AssocItem, ctxt: AssocCtxt) {
109109
walk_assoc_item(self, i, ctxt)
110110
}
111111

@@ -117,11 +117,11 @@ pub trait MutVisitor: Sized {
117117
walk_flat_map_assoc_item(self, i, ctxt)
118118
}
119119

120-
fn visit_contract(&mut self, c: &mut P<FnContract>) {
120+
fn visit_contract(&mut self, c: &mut FnContract) {
121121
walk_contract(self, c);
122122
}
123123

124-
fn visit_fn_decl(&mut self, d: &mut P<FnDecl>) {
124+
fn visit_fn_decl(&mut self, d: &mut FnDecl) {
125125
walk_fn_decl(self, d);
126126
}
127127

@@ -138,7 +138,7 @@ pub trait MutVisitor: Sized {
138138
walk_closure_binder(self, b);
139139
}
140140

141-
fn visit_block(&mut self, b: &mut P<Block>) {
141+
fn visit_block(&mut self, b: &mut Block) {
142142
walk_block(self, b);
143143
}
144144

@@ -184,7 +184,7 @@ pub trait MutVisitor: Sized {
184184
walk_ty(self, t);
185185
}
186186

187-
fn visit_ty_pat(&mut self, t: &mut P<TyPat>) {
187+
fn visit_ty_pat(&mut self, t: &mut TyPat) {
188188
walk_ty_pat(self, t);
189189
}
190190

@@ -240,7 +240,7 @@ pub trait MutVisitor: Sized {
240240
walk_parenthesized_parameter_data(self, p);
241241
}
242242

243-
fn visit_local(&mut self, l: &mut P<Local>) {
243+
fn visit_local(&mut self, l: &mut Local) {
244244
walk_local(self, l);
245245
}
246246

@@ -507,8 +507,8 @@ fn walk_assoc_item_constraint<T: MutVisitor>(
507507
vis.visit_span(span);
508508
}
509509

510-
pub fn walk_ty<T: MutVisitor>(vis: &mut T, ty: &mut P<Ty>) {
511-
let Ty { id, kind, span, tokens: _ } = ty.deref_mut();
510+
pub fn walk_ty<T: MutVisitor>(vis: &mut T, ty: &mut Ty) {
511+
let Ty { id, kind, span, tokens: _ } = ty;
512512
vis.visit_id(id);
513513
match kind {
514514
TyKind::Err(_guar) => {}
@@ -559,8 +559,8 @@ pub fn walk_ty<T: MutVisitor>(vis: &mut T, ty: &mut P<Ty>) {
559559
vis.visit_span(span);
560560
}
561561

562-
pub fn walk_ty_pat<T: MutVisitor>(vis: &mut T, ty: &mut P<TyPat>) {
563-
let TyPat { id, kind, span, tokens: _ } = ty.deref_mut();
562+
pub fn walk_ty_pat<T: MutVisitor>(vis: &mut T, ty: &mut TyPat) {
563+
let TyPat { id, kind, span, tokens: _ } = ty;
564564
vis.visit_id(id);
565565
match kind {
566566
TyPatKind::Range(start, end, _include_end) => {
@@ -651,8 +651,8 @@ fn walk_parenthesized_parameter_data<T: MutVisitor>(vis: &mut T, args: &mut Pare
651651
vis.visit_span(inputs_span);
652652
}
653653

654-
fn walk_local<T: MutVisitor>(vis: &mut T, local: &mut P<Local>) {
655-
let Local { id, super_, pat, ty, kind, span, colon_sp, attrs, tokens: _ } = local.deref_mut();
654+
fn walk_local<T: MutVisitor>(vis: &mut T, local: &mut Local) {
655+
let Local { id, super_, pat, ty, kind, span, colon_sp, attrs, tokens: _ } = local;
656656
visit_opt(super_, |sp| vis.visit_span(sp));
657657
vis.visit_id(id);
658658
visit_attrs(vis, attrs);
@@ -789,8 +789,8 @@ fn walk_fn<T: MutVisitor>(vis: &mut T, kind: FnKind<'_>) {
789789
}
790790
}
791791

792-
fn walk_contract<T: MutVisitor>(vis: &mut T, contract: &mut P<FnContract>) {
793-
let FnContract { requires, ensures } = contract.deref_mut();
792+
fn walk_contract<T: MutVisitor>(vis: &mut T, contract: &mut FnContract) {
793+
let FnContract { requires, ensures } = contract;
794794
if let Some(pred) = requires {
795795
vis.visit_expr(pred);
796796
}
@@ -799,8 +799,8 @@ fn walk_contract<T: MutVisitor>(vis: &mut T, contract: &mut P<FnContract>) {
799799
}
800800
}
801801

802-
fn walk_fn_decl<T: MutVisitor>(vis: &mut T, decl: &mut P<FnDecl>) {
803-
let FnDecl { inputs, output } = decl.deref_mut();
802+
fn walk_fn_decl<T: MutVisitor>(vis: &mut T, decl: &mut FnDecl) {
803+
let FnDecl { inputs, output } = decl;
804804
inputs.flat_map_in_place(|param| vis.flat_map_param(param));
805805
vis.visit_fn_ret_ty(output);
806806
}
@@ -999,8 +999,8 @@ pub fn walk_flat_map_expr_field<T: MutVisitor>(
999999
smallvec![f]
10001000
}
10011001

1002-
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
1003-
let Block { id, stmts, rules: _, span, tokens: _ } = block.deref_mut();
1002+
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut Block) {
1003+
let Block { id, stmts, rules: _, span, tokens: _ } = block;
10041004
vis.visit_id(id);
10051005
stmts.flat_map_in_place(|stmt| vis.flat_map_stmt(stmt));
10061006
vis.visit_span(span);
@@ -1049,8 +1049,8 @@ pub fn walk_flat_map_assoc_item(
10491049
smallvec![item]
10501050
}
10511051

1052-
pub fn walk_pat<T: MutVisitor>(vis: &mut T, pat: &mut P<Pat>) {
1053-
let Pat { id, kind, span, tokens: _ } = pat.deref_mut();
1052+
pub fn walk_pat<T: MutVisitor>(vis: &mut T, pat: &mut Pat) {
1053+
let Pat { id, kind, span, tokens: _ } = pat;
10541054
vis.visit_id(id);
10551055
match kind {
10561056
PatKind::Err(_guar) => {}

compiler/rustc_ast/src/visit.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -404,10 +404,10 @@ macro_rules! common_visitor_and_walkers {
404404

405405
fn walk_item_ctxt<$($lt,)? V: $Visitor$(<$lt>)?, K: WalkItemKind>(
406406
visitor: &mut V,
407-
item: &$($mut P<Item<K>>)? $($lt Item<K>)?,
407+
item: &$($mut)? $($lt)? Item<K>,
408408
ctxt: K::Ctxt,
409409
) $(-> <V as Visitor<$lt>>::Result)? {
410-
let Item { attrs, id, kind, vis, span, tokens: _ } = &$($mut *)? *item;
410+
let Item { attrs, id, kind, vis, span, tokens: _ } = item;
411411
try_visit!(visit_id(visitor, id));
412412
walk_list!(visitor, visit_attribute, attrs);
413413
try_visit!(visitor.visit_vis(vis));
@@ -417,14 +417,14 @@ macro_rules! common_visitor_and_walkers {
417417

418418
pub fn walk_item<$($lt,)? V: $Visitor$(<$lt>)?, K: WalkItemKind<Ctxt = ()>>(
419419
visitor: &mut V,
420-
item: &$($mut P<Item<K>>)? $($lt Item<K>)?,
420+
item: &$($mut)? $($lt)? Item<K>,
421421
) $(-> <V as Visitor<$lt>>::Result)? {
422422
walk_item_ctxt(visitor, item, ())
423423
}
424424

425425
pub fn walk_assoc_item<$($lt,)? V: $Visitor$(<$lt>)?>(
426426
visitor: &mut V,
427-
item: &$($mut P<AssocItem>)? $($lt AssocItem)?,
427+
item: &$($mut)? $($lt)? AssocItem,
428428
ctxt: AssocCtxt,
429429
) $(-> <V as Visitor<$lt>>::Result)? {
430430
walk_item_ctxt(visitor, item, ctxt)

compiler/rustc_builtin_macros/src/test_harness.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,7 @@ impl<'a> MutVisitor for TestHarnessGenerator<'a> {
128128
c.items.push(mk_main(&mut self.cx));
129129
}
130130

131-
fn visit_item(&mut self, item: &mut P<ast::Item>) {
132-
let item = &mut **item;
133-
131+
fn visit_item(&mut self, item: &mut ast::Item) {
134132
if let Some(name) = get_test_name(&item) {
135133
debug!("this is a test item");
136134

@@ -193,7 +191,7 @@ struct EntryPointCleaner<'a> {
193191
}
194192

195193
impl<'a> MutVisitor for EntryPointCleaner<'a> {
196-
fn visit_item(&mut self, item: &mut P<ast::Item>) {
194+
fn visit_item(&mut self, item: &mut ast::Item) {
197195
self.depth += 1;
198196
ast::mut_visit::walk_item(self, item);
199197
self.depth -= 1;

compiler/rustc_expand/src/config.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
33
use std::iter;
44

5-
use rustc_ast::ptr::P;
65
use rustc_ast::token::{Delimiter, Token, TokenKind};
76
use rustc_ast::tokenstream::{
87
AttrTokenStream, AttrTokenTree, LazyAttrTokenStream, Spacing, TokenTree,
@@ -433,7 +432,7 @@ impl<'a> StripUnconfigured<'a> {
433432
}
434433

435434
#[instrument(level = "trace", skip(self))]
436-
pub fn configure_expr(&self, expr: &mut P<ast::Expr>, method_receiver: bool) {
435+
pub fn configure_expr(&self, expr: &mut ast::Expr, method_receiver: bool) {
437436
if !method_receiver {
438437
for attr in expr.attrs.iter() {
439438
self.maybe_emit_expr_attr_err(attr);

compiler/rustc_expand/src/expand.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2304,7 +2304,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
23042304
self.flat_map_node(AstNodeWrapper::new(node, OptExprTag))
23052305
}
23062306

2307-
fn visit_block(&mut self, node: &mut P<ast::Block>) {
2307+
fn visit_block(&mut self, node: &mut ast::Block) {
23082308
let orig_dir_ownership = mem::replace(
23092309
&mut self.cx.current_expansion.dir_ownership,
23102310
DirOwnership::UnownedViaBlock,

0 commit comments

Comments
 (0)