| // run-rustfix |
| #![warn(clippy::match_single_binding)] |
| #![allow(unused_variables)] |
| #![allow(clippy::uninlined_format_args)] |
| |
| fn main() { |
| // Lint (additional curly braces needed, see #6572) |
| struct AppendIter<I> |
| where |
| I: Iterator, |
| { |
| inner: Option<(I, <I as Iterator>::Item)>, |
| } |
| |
| #[allow(dead_code)] |
| fn size_hint<I: Iterator>(iter: &AppendIter<I>) -> (usize, Option<usize>) { |
| match &iter.inner { |
| Some((iter, _item)) => { |
| let (min, max) = iter.size_hint(); |
| (min.saturating_add(1), max.and_then(|max| max.checked_add(1))) |
| }, |
| None => (0, Some(0)), |
| } |
| } |
| |
| // Lint (no additional curly braces needed) |
| let opt = Some((5, 2)); |
| let get_tup = || -> (i32, i32) { (1, 2) }; |
| match opt { |
| #[rustfmt::skip] |
| Some((first, _second)) => { |
| let (a, b) = get_tup(); |
| println!("a {:?} and b {:?}", a, b); |
| }, |
| None => println!("nothing"), |
| } |
| |
| fn side_effects() {} |
| |
| // Lint (scrutinee has side effects) |
| // issue #7094 |
| side_effects(); |
| println!("Side effects"); |
| |
| // Lint (scrutinee has side effects) |
| // issue #7094 |
| let x = 1; |
| match x { |
| 0 => 1, |
| _ => 2, |
| }; |
| println!("Single branch"); |
| } |