#![allow(unused)] #![warn(clippy::needless_bool_assign)] fn random() -> bool { true } fn main() { struct Data { field: bool, }; let mut a = Data { field: false }; a.field = random() && random(); //~^^^^^ needless_bool_assign a.field = !(random() && random()); //~^^^^^ needless_bool_assign // Do not lint… if random() { a.field = false; } else { // …to avoid losing this comment a.field = true } // This one also triggers lint `clippy::if_same_then_else` // which does not suggest a rewrite. random(); a.field = true; //~^^^^^ if_same_then_else //~| needless_bool_assign let mut b = false; if random() { a.field = false; } else { b = true; } }