//@ run-rustfix #![deny(unused_parens)] fn main() { macro_rules! x { () => { None:: }; } let Some(_) = (x!{}) else { return }; // no error let Some(_) = ((x!{})) else { return }; //~^ ERROR: unnecessary parentheses around assigned value let Some((_)) = (x!{}) else { return }; //~^ ERROR: unnecessary parentheses around pattern let _ = x!{}; let _ = (x!{}); //~^ ERROR: unnecessary parentheses around assigned value if let Some(_) = x!{} {}; if let Some(_) = (x!{}) {}; //~^ ERROR: unnecessary parentheses around `let` scrutinee expression while let Some(_) = x!{} {}; while let Some(_) = (x!{}) {}; //~^ ERROR: unnecessary parentheses around `let` scrutinee expression }