Filter out stmts made for the redundant_semicolon lint when pretty-printing

This commit is contained in:
nathanwhit 2019-09-11 22:05:26 -04:00 committed by Nathan
parent 084beb83e0
commit d35f25cf96

View File

@ -1657,9 +1657,18 @@ impl<'a> State<'a> {
}
}
ast::StmtKind::Semi(ref expr) => {
self.space_if_not_bol();
self.print_expr_outer_attr_style(expr, false);
self.s.word(";");
match expr.kind {
// Filter out empty `Tup` exprs created for the `redundant_semicolon`
// lint, as they shouldn't be visible and interact poorly
// with proc macros.
ast::ExprKind::Tup(ref exprs) if exprs.is_empty()
&& expr.attrs.is_empty() => (),
_ => {
self.space_if_not_bol();
self.print_expr_outer_attr_style(expr, false);
self.s.word(";");
}
}
}
ast::StmtKind::Mac(ref mac) => {
let (ref mac, style, ref attrs) = **mac;