diff options
| author | kyoto7250 <50972773+kyoto7250@users.noreply.github.com> | 2022-06-20 11:05:40 +0900 |
|---|---|---|
| committer | kyoto7250 <50972773+kyoto7250@users.noreply.github.com> | 2022-06-20 11:05:40 +0900 |
| commit | 46d056e2eb7c5cab767c91383cf7ef1828809fd9 (patch) | |
| tree | 2430ceb4c2678860b88a22c7f2208c8297f2079a | |
| parent | 4a02ae9636d57dd4b5b93e5d2688f9eec5de39e9 (diff) | |
| download | rust-46d056e2eb7c5cab767c91383cf7ef1828809fd9.tar.gz rust-46d056e2eb7c5cab767c91383cf7ef1828809fd9.zip | |
check last statement
| -rw-r--r-- | clippy_utils/src/hir_utils.rs | 2 | ||||
| -rw-r--r-- | tests/ui/if_same_then_else.rs | 32 |
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!() + } } } |
