// run-rustfix #[warn(clippy::bool_comparison)] fn main() { let x = true; if x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; if x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; if x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; if x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; if x { "yes" } else { "no" }; if x { "yes" } else { "no" }; if !x { "yes" } else { "no" }; let y = true; if !x & y { "yes" } else { "no" }; if x & !y { "yes" } else { "no" }; } #[allow(dead_code)] fn issue3703() { struct Foo; impl PartialEq<bool> for Foo { fn eq(&self, _: &bool) -> bool { true } } impl PartialEq<Foo> for bool { fn eq(&self, _: &Foo) -> bool { true } } impl PartialOrd<bool> for Foo { fn partial_cmp(&self, _: &bool) -> Option<std::cmp::Ordering> { None } } impl PartialOrd<Foo> for bool { fn partial_cmp(&self, _: &Foo) -> Option<std::cmp::Ordering> { None } } if Foo == true {} if true == Foo {} if Foo != true {} if true != Foo {} if Foo == false {} if false == Foo {} if Foo != false {} if false != Foo {} if Foo < false {} if false < Foo {} }