about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/expr.rs2
-rw-r--r--tests/source/issue_3868.rs13
-rw-r--r--tests/target/issue_3868.rs9
3 files changed, 23 insertions, 1 deletions
diff --git a/src/expr.rs b/src/expr.rs
index 9c5876ce647..7dfa4d57b13 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -429,7 +429,7 @@ fn rewrite_empty_block(
     prefix: &str,
     shape: Shape,
 ) -> Option<String> {
-    if !block.stmts.is_empty() {
+    if block_has_statements(&block) {
         return None;
     }
 
diff --git a/tests/source/issue_3868.rs b/tests/source/issue_3868.rs
new file mode 100644
index 00000000000..6c46c3c9e18
--- /dev/null
+++ b/tests/source/issue_3868.rs
@@ -0,0 +1,13 @@
+fn foo() {
+    ;
+}
+
+fn bar() {
+    for _ in 0..1 {
+        ;
+    }
+}
+
+fn baz() {
+    ();
+    }
\ No newline at end of file
diff --git a/tests/target/issue_3868.rs b/tests/target/issue_3868.rs
new file mode 100644
index 00000000000..06724135928
--- /dev/null
+++ b/tests/target/issue_3868.rs
@@ -0,0 +1,9 @@
+fn foo() {}
+
+fn bar() {
+    for _ in 0..1 {}
+}
+
+fn baz() {
+    ();
+}