Preserve Paren expression's attributes during Unparenthesize

This commit is contained in:
David Tolnay 2025-06-13 12:59:25 -07:00
parent 8de4c7234d
commit 1ed0cbf698
No known key found for this signature in database
GPG key ID: F9BA143B95FF6D82

View file

@ -158,7 +158,12 @@ struct Unparenthesize;
impl MutVisitor for Unparenthesize {
fn visit_expr(&mut self, e: &mut Expr) {
while let ExprKind::Paren(paren) = &mut e.kind {
let paren_attrs = mem::take(&mut e.attrs);
*e = mem::replace(paren, Expr::dummy());
if !paren_attrs.is_empty() {
assert!(e.attrs.is_empty());
e.attrs = paren_attrs;
}
}
mut_visit::walk_expr(self, e);
}