mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-30 08:30:45 +00:00
Split up if_same_then_else
ui test
This commit is contained in:
parent
0a7003ecf0
commit
dfab83fe11
4 changed files with 279 additions and 280 deletions
|
@ -1,14 +1,11 @@
|
||||||
#![warn(clippy::if_same_then_else)]
|
#![warn(clippy::if_same_then_else)]
|
||||||
#![allow(
|
#![allow(
|
||||||
clippy::blacklisted_name,
|
clippy::blacklisted_name,
|
||||||
clippy::collapsible_if,
|
|
||||||
clippy::cognitive_complexity,
|
|
||||||
clippy::eq_op,
|
clippy::eq_op,
|
||||||
clippy::needless_return,
|
|
||||||
clippy::never_loop,
|
clippy::never_loop,
|
||||||
clippy::no_effect,
|
clippy::no_effect,
|
||||||
clippy::zero_divided_by_zero,
|
clippy::unused_unit,
|
||||||
clippy::unused_unit
|
clippy::zero_divided_by_zero
|
||||||
)]
|
)]
|
||||||
|
|
||||||
struct Foo {
|
struct Foo {
|
||||||
|
@ -19,7 +16,7 @@ fn foo() -> bool {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn if_same_then_else() -> Result<&'static str, ()> {
|
fn if_same_then_else() {
|
||||||
if true {
|
if true {
|
||||||
Foo { bar: 42 };
|
Foo { bar: 42 };
|
||||||
0..10;
|
0..10;
|
||||||
|
@ -94,27 +91,6 @@ fn if_same_then_else() -> Result<&'static str, ()> {
|
||||||
42
|
42
|
||||||
};
|
};
|
||||||
|
|
||||||
if true {
|
|
||||||
for _ in &[42] {
|
|
||||||
let foo: &Option<_> = &Some::<u8>(42);
|
|
||||||
if true {
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//~ ERROR same body as `if` block
|
|
||||||
for _ in &[42] {
|
|
||||||
let foo: &Option<_> = &Some::<u8>(42);
|
|
||||||
if true {
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
if true {
|
||||||
let bar = if true { 42 } else { 43 };
|
let bar = if true { 42 } else { 43 };
|
||||||
|
|
||||||
|
@ -149,113 +125,6 @@ fn if_same_then_else() -> Result<&'static str, ()> {
|
||||||
_ => 4,
|
_ => 4,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if true {
|
|
||||||
if let Some(a) = Some(42) {}
|
|
||||||
} else {
|
|
||||||
//~ ERROR same body as `if` block
|
|
||||||
if let Some(a) = Some(42) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
} else {
|
|
||||||
//~ ERROR same body as `if` block
|
|
||||||
if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
} else {
|
|
||||||
if let (.., 3) = (1, 2, 3) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
} else {
|
|
||||||
if let (.., 4) = (1, 2, 3) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
} else {
|
|
||||||
if let (.., 1, 3) = (1, 2, 3) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let Some(42) = None {}
|
|
||||||
} else {
|
|
||||||
if let Option::Some(42) = None {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let Some(42) = None::<u8> {}
|
|
||||||
} else {
|
|
||||||
if let Some(42) = None {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let Some(42) = None::<u8> {}
|
|
||||||
} else {
|
|
||||||
if let Some(42) = None::<u32> {}
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
if let Some(a) = Some(42) {}
|
|
||||||
} else {
|
|
||||||
if let Some(a) = Some(43) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Same NaNs
|
|
||||||
let _ = if true {
|
|
||||||
std::f32::NAN
|
|
||||||
} else {
|
|
||||||
//~ ERROR same body as `if` block
|
|
||||||
std::f32::NAN
|
|
||||||
};
|
|
||||||
|
|
||||||
if true {
|
|
||||||
Ok("foo")?;
|
|
||||||
} else {
|
|
||||||
//~ ERROR same body as `if` block
|
|
||||||
Ok("foo")?;
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
let foo = "";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
} else if false {
|
|
||||||
let foo = "bar";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
} else {
|
|
||||||
let foo = "";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if true {
|
|
||||||
let foo = "";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
} else if false {
|
|
||||||
let foo = "bar";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
} else if true {
|
|
||||||
let foo = "";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
} else {
|
|
||||||
let foo = "";
|
|
||||||
return Ok(&foo[0..]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// False positive `if_same_then_else`: `let (x, y)` vs. `let (y, x)`; see issue #3559.
|
|
||||||
if true {
|
|
||||||
let foo = "";
|
|
||||||
let (x, y) = (1, 2);
|
|
||||||
return Ok(&foo[x..y]);
|
|
||||||
} else {
|
|
||||||
let foo = "";
|
|
||||||
let (y, x) = (1, 2);
|
|
||||||
return Ok(&foo[x..y]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Issue #2423. This was causing an ICE.
|
// Issue #2423. This was causing an ICE.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error: this `if` has identical blocks
|
error: this `if` has identical blocks
|
||||||
--> $DIR/if_same_then_else.rs:31:12
|
--> $DIR/if_same_then_else.rs:28:12
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| ____________^
|
| ____________^
|
||||||
|
@ -13,7 +13,7 @@ LL | | }
|
||||||
|
|
|
|
||||||
= note: `-D clippy::if-same-then-else` implied by `-D warnings`
|
= note: `-D clippy::if-same-then-else` implied by `-D warnings`
|
||||||
note: same as this
|
note: same as this
|
||||||
--> $DIR/if_same_then_else.rs:23:13
|
--> $DIR/if_same_then_else.rs:20:13
|
||||||
|
|
|
|
||||||
LL | if true {
|
LL | if true {
|
||||||
| _____________^
|
| _____________^
|
||||||
|
@ -26,7 +26,7 @@ LL | | } else {
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
error: this `if` has identical blocks
|
||||||
--> $DIR/if_same_then_else.rs:69:12
|
--> $DIR/if_same_then_else.rs:66:12
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| ____________^
|
| ____________^
|
||||||
|
@ -36,7 +36,7 @@ LL | | };
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
note: same as this
|
note: same as this
|
||||||
--> $DIR/if_same_then_else.rs:67:21
|
--> $DIR/if_same_then_else.rs:64:21
|
||||||
|
|
|
|
||||||
LL | let _ = if true {
|
LL | let _ = if true {
|
||||||
| _____________________^
|
| _____________________^
|
||||||
|
@ -45,7 +45,7 @@ LL | | } else {
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
error: this `if` has identical blocks
|
||||||
--> $DIR/if_same_then_else.rs:76:12
|
--> $DIR/if_same_then_else.rs:73:12
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| ____________^
|
| ____________^
|
||||||
|
@ -55,7 +55,7 @@ LL | | };
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
note: same as this
|
note: same as this
|
||||||
--> $DIR/if_same_then_else.rs:74:21
|
--> $DIR/if_same_then_else.rs:71:21
|
||||||
|
|
|
|
||||||
LL | let _ = if true {
|
LL | let _ = if true {
|
||||||
| _____________________^
|
| _____________________^
|
||||||
|
@ -64,7 +64,7 @@ LL | | } else {
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
error: this `if` has identical blocks
|
||||||
--> $DIR/if_same_then_else.rs:92:12
|
--> $DIR/if_same_then_else.rs:89:12
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| ____________^
|
| ____________^
|
||||||
|
@ -74,7 +74,7 @@ LL | | };
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
note: same as this
|
note: same as this
|
||||||
--> $DIR/if_same_then_else.rs:90:21
|
--> $DIR/if_same_then_else.rs:87:21
|
||||||
|
|
|
|
||||||
LL | let _ = if true {
|
LL | let _ = if true {
|
||||||
| _____________________^
|
| _____________________^
|
||||||
|
@ -83,33 +83,7 @@ LL | | } else {
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
error: this `if` has identical blocks
|
||||||
--> $DIR/if_same_then_else.rs:106:12
|
--> $DIR/if_same_then_else.rs:101:12
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | //~ ERROR same body as `if` block
|
|
||||||
LL | | for _ in &[42] {
|
|
||||||
LL | | let foo: &Option<_> = &Some::<u8>(42);
|
|
||||||
... |
|
|
||||||
LL | | }
|
|
||||||
LL | | }
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:97:13
|
|
||||||
|
|
|
||||||
LL | if true {
|
|
||||||
| _____________^
|
|
||||||
LL | | for _ in &[42] {
|
|
||||||
LL | | let foo: &Option<_> = &Some::<u8>(42);
|
|
||||||
LL | | if true {
|
|
||||||
... |
|
|
||||||
LL | | }
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
|
||||||
--> $DIR/if_same_then_else.rs:125:12
|
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| ____________^
|
| ____________^
|
||||||
|
@ -122,7 +96,7 @@ LL | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
note: same as this
|
note: same as this
|
||||||
--> $DIR/if_same_then_else.rs:118:13
|
--> $DIR/if_same_then_else.rs:94:13
|
||||||
|
|
|
|
||||||
LL | if true {
|
LL | if true {
|
||||||
| _____________^
|
| _____________^
|
||||||
|
@ -134,114 +108,5 @@ LL | | bar + 1;
|
||||||
LL | | } else {
|
LL | | } else {
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
error: aborting due to 5 previous errors
|
||||||
--> $DIR/if_same_then_else.rs:155:12
|
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | //~ ERROR same body as `if` block
|
|
||||||
LL | | if let Some(a) = Some(42) {}
|
|
||||||
LL | | }
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:153:13
|
|
||||||
|
|
|
||||||
LL | if true {
|
|
||||||
| _____________^
|
|
||||||
LL | | if let Some(a) = Some(42) {}
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
|
||||||
--> $DIR/if_same_then_else.rs:162:12
|
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | //~ ERROR same body as `if` block
|
|
||||||
LL | | if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
LL | | }
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:160:13
|
|
||||||
|
|
|
||||||
LL | if true {
|
|
||||||
| _____________^
|
|
||||||
LL | | if let (1, .., 3) = (1, 2, 3) {}
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
|
||||||
--> $DIR/if_same_then_else.rs:212:12
|
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | //~ ERROR same body as `if` block
|
|
||||||
LL | | std::f32::NAN
|
|
||||||
LL | | };
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:210:21
|
|
||||||
|
|
|
||||||
LL | let _ = if true {
|
|
||||||
| _____________________^
|
|
||||||
LL | | std::f32::NAN
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
|
||||||
--> $DIR/if_same_then_else.rs:219:12
|
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | //~ ERROR same body as `if` block
|
|
||||||
LL | | Ok("foo")?;
|
|
||||||
LL | | }
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:217:13
|
|
||||||
|
|
|
||||||
LL | if true {
|
|
||||||
| _____________^
|
|
||||||
LL | | Ok("foo")?;
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has identical blocks
|
|
||||||
--> $DIR/if_same_then_else.rs:244:12
|
|
||||||
|
|
|
||||||
LL | } else {
|
|
||||||
| ____________^
|
|
||||||
LL | | let foo = "";
|
|
||||||
LL | | return Ok(&foo[0..]);
|
|
||||||
LL | | }
|
|
||||||
| |_____^
|
|
||||||
|
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:241:20
|
|
||||||
|
|
|
||||||
LL | } else if true {
|
|
||||||
| ____________________^
|
|
||||||
LL | | let foo = "";
|
|
||||||
LL | | return Ok(&foo[0..]);
|
|
||||||
LL | | } else {
|
|
||||||
| |_____^
|
|
||||||
|
|
||||||
error: this `if` has the same condition as a previous `if`
|
|
||||||
--> $DIR/if_same_then_else.rs:241:15
|
|
||||||
|
|
|
||||||
LL | } else if true {
|
|
||||||
| ^^^^
|
|
||||||
|
|
|
||||||
= note: `#[deny(clippy::ifs_same_cond)]` on by default
|
|
||||||
note: same as this
|
|
||||||
--> $DIR/if_same_then_else.rs:235:8
|
|
||||||
|
|
|
||||||
LL | if true {
|
|
||||||
| ^^^^
|
|
||||||
|
|
||||||
error: aborting due to 12 previous errors
|
|
||||||
|
|
||||||
|
|
140
tests/ui/if_same_then_else2.rs
Normal file
140
tests/ui/if_same_then_else2.rs
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
#![warn(clippy::if_same_then_else)]
|
||||||
|
#![allow(
|
||||||
|
clippy::blacklisted_name,
|
||||||
|
clippy::cognitive_complexity,
|
||||||
|
clippy::collapsible_if,
|
||||||
|
clippy::ifs_same_cond,
|
||||||
|
clippy::needless_return
|
||||||
|
)]
|
||||||
|
|
||||||
|
fn if_same_then_else2() -> Result<&'static str, ()> {
|
||||||
|
if true {
|
||||||
|
for _ in &[42] {
|
||||||
|
let foo: &Option<_> = &Some::<u8>(42);
|
||||||
|
if true {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//~ ERROR same body as `if` block
|
||||||
|
for _ in &[42] {
|
||||||
|
let foo: &Option<_> = &Some::<u8>(42);
|
||||||
|
if true {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let Some(a) = Some(42) {}
|
||||||
|
} else {
|
||||||
|
//~ ERROR same body as `if` block
|
||||||
|
if let Some(a) = Some(42) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
} else {
|
||||||
|
//~ ERROR same body as `if` block
|
||||||
|
if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
} else {
|
||||||
|
if let (.., 3) = (1, 2, 3) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
} else {
|
||||||
|
if let (.., 4) = (1, 2, 3) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
} else {
|
||||||
|
if let (.., 1, 3) = (1, 2, 3) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let Some(42) = None {}
|
||||||
|
} else {
|
||||||
|
if let Option::Some(42) = None {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let Some(42) = None::<u8> {}
|
||||||
|
} else {
|
||||||
|
if let Some(42) = None {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let Some(42) = None::<u8> {}
|
||||||
|
} else {
|
||||||
|
if let Some(42) = None::<u32> {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
if let Some(a) = Some(42) {}
|
||||||
|
} else {
|
||||||
|
if let Some(a) = Some(43) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Same NaNs
|
||||||
|
let _ = if true {
|
||||||
|
std::f32::NAN
|
||||||
|
} else {
|
||||||
|
//~ ERROR same body as `if` block
|
||||||
|
std::f32::NAN
|
||||||
|
};
|
||||||
|
|
||||||
|
if true {
|
||||||
|
Ok("foo")?;
|
||||||
|
} else {
|
||||||
|
//~ ERROR same body as `if` block
|
||||||
|
Ok("foo")?;
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
let foo = "";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
} else if false {
|
||||||
|
let foo = "bar";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
} else {
|
||||||
|
let foo = "";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if true {
|
||||||
|
let foo = "";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
} else if false {
|
||||||
|
let foo = "bar";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
} else if true {
|
||||||
|
let foo = "";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
} else {
|
||||||
|
let foo = "";
|
||||||
|
return Ok(&foo[0..]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// False positive `if_same_then_else`: `let (x, y)` vs. `let (y, x)`; see issue #3559.
|
||||||
|
if true {
|
||||||
|
let foo = "";
|
||||||
|
let (x, y) = (1, 2);
|
||||||
|
return Ok(&foo[x..y]);
|
||||||
|
} else {
|
||||||
|
let foo = "";
|
||||||
|
let (y, x) = (1, 2);
|
||||||
|
return Ok(&foo[x..y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
125
tests/ui/if_same_then_else2.stderr
Normal file
125
tests/ui/if_same_then_else2.stderr
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:20:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | //~ ERROR same body as `if` block
|
||||||
|
LL | | for _ in &[42] {
|
||||||
|
LL | | let foo: &Option<_> = &Some::<u8>(42);
|
||||||
|
... |
|
||||||
|
LL | | }
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
= note: `-D clippy::if-same-then-else` implied by `-D warnings`
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:11:13
|
||||||
|
|
|
||||||
|
LL | if true {
|
||||||
|
| _____________^
|
||||||
|
LL | | for _ in &[42] {
|
||||||
|
LL | | let foo: &Option<_> = &Some::<u8>(42);
|
||||||
|
LL | | if true {
|
||||||
|
... |
|
||||||
|
LL | | }
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:34:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | //~ ERROR same body as `if` block
|
||||||
|
LL | | if let Some(a) = Some(42) {}
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:32:13
|
||||||
|
|
|
||||||
|
LL | if true {
|
||||||
|
| _____________^
|
||||||
|
LL | | if let Some(a) = Some(42) {}
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:41:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | //~ ERROR same body as `if` block
|
||||||
|
LL | | if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:39:13
|
||||||
|
|
|
||||||
|
LL | if true {
|
||||||
|
| _____________^
|
||||||
|
LL | | if let (1, .., 3) = (1, 2, 3) {}
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:91:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | //~ ERROR same body as `if` block
|
||||||
|
LL | | std::f32::NAN
|
||||||
|
LL | | };
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:89:21
|
||||||
|
|
|
||||||
|
LL | let _ = if true {
|
||||||
|
| _____________________^
|
||||||
|
LL | | std::f32::NAN
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:98:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | //~ ERROR same body as `if` block
|
||||||
|
LL | | Ok("foo")?;
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:96:13
|
||||||
|
|
|
||||||
|
LL | if true {
|
||||||
|
| _____________^
|
||||||
|
LL | | Ok("foo")?;
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: this `if` has identical blocks
|
||||||
|
--> $DIR/if_same_then_else2.rs:123:12
|
||||||
|
|
|
||||||
|
LL | } else {
|
||||||
|
| ____________^
|
||||||
|
LL | | let foo = "";
|
||||||
|
LL | | return Ok(&foo[0..]);
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
note: same as this
|
||||||
|
--> $DIR/if_same_then_else2.rs:120:20
|
||||||
|
|
|
||||||
|
LL | } else if true {
|
||||||
|
| ____________________^
|
||||||
|
LL | | let foo = "";
|
||||||
|
LL | | return Ok(&foo[0..]);
|
||||||
|
LL | | } else {
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: aborting due to 6 previous errors
|
||||||
|
|
Loading…
Reference in a new issue