Skip to content

Commit

Permalink
Use mut_visit's visit_clobber helper in FullyParenthesize
Browse files Browse the repository at this point in the history
  • Loading branch information
dtolnay committed Dec 1, 2024
1 parent ac5b41c commit 7f12e32
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions tests/test_precedence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,11 @@ fn librustc_parenthesize(mut librustc_expr: P<ast::Expr>) -> P<ast::Expr> {
ExprKind, GenericArg, GenericBound, Local, LocalKind, Pat, PolyTraitRef, Stmt, StmtKind,
StructExpr, StructRest, TraitBoundModifiers, Ty,
};
use rustc_ast::mut_visit::{walk_flat_map_assoc_item, MutVisitor};
use rustc_ast::mut_visit::{visit_clobber, walk_flat_map_assoc_item, MutVisitor};
use rustc_ast::visit::{AssocCtxt, BoundKind};
use rustc_data_structures::flat_map_in_place::FlatMapInPlace;
use rustc_span::DUMMY_SP;
use smallvec::SmallVec;
use std::mem;
use std::ops::DerefMut;
use thin_vec::ThinVec;

Expand Down Expand Up @@ -280,19 +279,13 @@ fn librustc_parenthesize(mut librustc_expr: P<ast::Expr>) -> P<ast::Expr> {
match e.kind {
ExprKind::Block(..) | ExprKind::If(..) | ExprKind::Let(..) => {}
ExprKind::Binary(..) if contains_let_chain(e) => {}
_ => {
let inner = mem::replace(
e,
P(Expr {
id: ast::DUMMY_NODE_ID,
kind: ExprKind::Dummy,
span: DUMMY_SP,
attrs: ThinVec::new(),
tokens: None,
}),
);
e.kind = ExprKind::Paren(inner);
}
_ => visit_clobber(&mut **e, |inner| Expr {
id: ast::DUMMY_NODE_ID,
kind: ExprKind::Paren(P(inner)),
span: DUMMY_SP,
attrs: ThinVec::new(),
tokens: None,
}),
}
}

Expand Down

0 comments on commit 7f12e32

Please sign in to comment.