diff --git a/src/formatting/expr.rs b/src/formatting/expr.rs index 472162e65a6..80c241a5ac6 100644 --- a/src/formatting/expr.rs +++ b/src/formatting/expr.rs @@ -1206,18 +1206,10 @@ pub(crate) fn is_simple_block_stmt( } fn block_has_statements(block: &ast::Block) -> bool { - block.stmts.iter().any(|stmt| match stmt.kind { - ast::StmtKind::Semi(ref expr) => { - if let ast::ExprKind::Tup(ref tup_exprs) = expr.kind { - if tup_exprs.is_empty() { - return false; - } - } - true - } - ast::StmtKind::Empty => false, - _ => true, - }) + !block + .stmts + .iter() + .all(|stmt| matches!(stmt.kind, ast::StmtKind::Empty)) } /// Checks whether a block contains no statements, expressions, comments, or diff --git a/tests/target/issue_3868.rs b/tests/target/issue_3868.rs index 902e2da01fc..06724135928 100644 --- a/tests/target/issue_3868.rs +++ b/tests/target/issue_3868.rs @@ -4,4 +4,6 @@ fn bar() { for _ in 0..1 {} } -fn baz() {} +fn baz() { + (); +}