From c0161c7dba6217b580294b6ced13759bbc9e0a5c Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Wed, 6 Jan 2021 20:25:11 -0600 Subject: [PATCH 1/2] refactor: cleanup block check for statements --- src/formatting/expr.rs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) 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 From 516e6a5e5348b2e3007df9d41708f9f9dba063d7 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Wed, 6 Jan 2021 20:26:02 -0600 Subject: [PATCH 2/2] tests: don't strip empty tuple exprs in blocks --- tests/target/issue_3868.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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() { + (); +}