about summary refs log tree commit diff
diff options
context:
space:
mode:
authorkyoto7250 <50972773+kyoto7250@users.noreply.github.com>2022-06-20 11:05:40 +0900
committerkyoto7250 <50972773+kyoto7250@users.noreply.github.com>2022-06-20 11:05:40 +0900
commit46d056e2eb7c5cab767c91383cf7ef1828809fd9 (patch)
tree2430ceb4c2678860b88a22c7f2208c8297f2079a
parent4a02ae9636d57dd4b5b93e5d2688f9eec5de39e9 (diff)
downloadrust-46d056e2eb7c5cab767c91383cf7ef1828809fd9.tar.gz
rust-46d056e2eb7c5cab767c91383cf7ef1828809fd9.zip
check last statement
-rw-r--r--clippy_utils/src/hir_utils.rs2
-rw-r--r--tests/ui/if_same_then_else.rs32
2 files changed, 33 insertions, 1 deletions
diff --git a/clippy_utils/src/hir_utils.rs b/clippy_utils/src/hir_utils.rs
index 97a15108d0c..3eb01bf75a6 100644
--- a/clippy_utils/src/hir_utils.rs
+++ b/clippy_utils/src/hir_utils.rs
@@ -88,7 +88,7 @@ impl<'a, 'tcx> SpanlessEq<'a, 'tcx> {
     }
 
     fn cannot_be_compared_block(&mut self, block: &Block<'_>) -> bool {
-        if block.stmts.first().map_or(false, |stmt| {
+        if block.stmts.last().map_or(false, |stmt| {
             matches!(
                 stmt.kind,
                 StmtKind::Semi(semi_expr) if self.should_ignore(semi_expr)
diff --git a/tests/ui/if_same_then_else.rs b/tests/ui/if_same_then_else.rs
index 4110d1a9c01..2598c2ab426 100644
--- a/tests/ui/if_same_then_else.rs
+++ b/tests/ui/if_same_then_else.rs
@@ -179,6 +179,38 @@ mod issue_8836 {
         } else {
             unimplemented!();
         }
+
+        if true {
+            println!("FOO");
+            todo!();
+        } else {
+            println!("FOO");
+            todo!();
+        }
+
+        if true {
+            println!("FOO");
+            unimplemented!();
+        } else {
+            println!("FOO");
+            unimplemented!();
+        }
+
+        if true {
+            println!("FOO");
+            todo!()
+        } else {
+            println!("FOO");
+            todo!()
+        }
+
+        if true {
+            println!("FOO");
+            unimplemented!()
+        } else {
+            println!("FOO");
+            unimplemented!()
+        }
     }
 }