// run-rustfix
-#![allow(clippy::cognitive_complexity, clippy::assertions_on_constants)]
+#![allow(clippy::assertions_on_constants, clippy::equatable_if_let)]
#[rustfmt::skip]
#[warn(clippy::collapsible_if)]
let x = "hello";
let y = "world";
if x == "hello" && y == "world" {
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if (x == "hello" || x == "world") && (y == "world" || y == "hello") {
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if x == "hello" && x == "world" && (y == "world" || y == "hello") {
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if (x == "hello" || x == "world") && y == "world" && y == "hello" {
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if x == "hello" && x == "world" && y == "world" && y == "hello" {
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if 42 == 1337 && 'a' != 'A' {
- println!("world!")
-}
-
- // Collapse `else { if .. }` to `else if ..`
- if x == "hello" {
- print!("Hello ");
- } else if y == "world" {
- println!("world!")
-}
-
- if x == "hello" {
- print!("Hello ");
- } else if let Some(42) = Some(42) {
- println!("world!")
-}
-
- if x == "hello" {
- print!("Hello ");
- } else if y == "world" {
- println!("world")
-}
-else {
- println!("!")
-}
-
- if x == "hello" {
- print!("Hello ");
- } else if let Some(42) = Some(42) {
- println!("world")
-}
-else {
- println!("!")
-}
-
- if let Some(42) = Some(42) {
- print!("Hello ");
- } else if let Some(42) = Some(42) {
- println!("world")
-}
-else {
- println!("!")
-}
-
- if let Some(42) = Some(42) {
- print!("Hello ");
- } else if x == "hello" {
- println!("world")
-}
-else {
- println!("!")
-}
-
- if let Some(42) = Some(42) {
- print!("Hello ");
- } else if let Some(42) = Some(42) {
- println!("world")
-}
-else {
- println!("!")
-}
+ println!("world!")
+ }
// Works because any if with an else statement cannot be collapsed.
if x == "hello" {
}
if x == "hello" && y == "world" { // Collapsible
- println!("Hello world!");
-}
+ println!("Hello world!");
+ }
if x == "hello" {
print!("Hello ");
if truth() {}
}
}
+
+ // Fix #5962
+ if matches!(true, true) && matches!(true, true) {}
+
+ // Issue #9375
+ if matches!(true, true) && truth() && matches!(true, true) {}
+
+ if true {
+ #[cfg(not(teehee))]
+ if true {
+ println!("Hello world!");
+ }
+ }
}