diff options
Diffstat (limited to '')
-rw-r--r-- | src/tools/clippy/tests/ui/blocks_in_if_conditions.fixed | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/blocks_in_if_conditions.fixed b/src/tools/clippy/tests/ui/blocks_in_if_conditions.fixed new file mode 100644 index 000000000..e6e40a994 --- /dev/null +++ b/src/tools/clippy/tests/ui/blocks_in_if_conditions.fixed @@ -0,0 +1,65 @@ +// run-rustfix +#![warn(clippy::blocks_in_if_conditions)] +#![allow(unused, clippy::let_and_return)] +#![warn(clippy::nonminimal_bool)] + +macro_rules! blocky { + () => {{ true }}; +} + +macro_rules! blocky_too { + () => {{ + let r = true; + r + }}; +} + +fn macro_if() { + if blocky!() {} + + if blocky_too!() {} +} + +fn condition_has_block() -> i32 { + let res = { + let x = 3; + x == 3 + }; if res { + 6 + } else { + 10 + } +} + +fn condition_has_block_with_single_expression() -> i32 { + if true { 6 } else { 10 } +} + +fn condition_is_normal() -> i32 { + let x = 3; + if x == 3 { 6 } else { 10 } +} + +fn condition_is_unsafe_block() { + let a: i32 = 1; + + // this should not warn because the condition is an unsafe block + if unsafe { 1u32 == std::mem::transmute(a) } { + println!("1u32 == a"); + } +} + +fn block_in_assert() { + let opt = Some(42); + assert!( + opt.as_ref() + .map(|val| { + let mut v = val * 2; + v -= 1; + v * 3 + }) + .is_some() + ); +} + +fn main() {} |