mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
56 lines
1.3 KiB
Rust
56 lines
1.3 KiB
Rust
// run-rustfix
|
|
|
|
#![warn(clippy::match_single_binding)]
|
|
#![allow(unused_variables)]
|
|
|
|
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)) => match iter.size_hint() {
|
|
(min, max) => (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)) => {
|
|
match get_tup() {
|
|
(a, b) => println!("a {:?} and b {:?}", a, b),
|
|
}
|
|
},
|
|
None => println!("nothing"),
|
|
}
|
|
|
|
fn side_effects() {}
|
|
|
|
// Lint (scrutinee has side effects)
|
|
// issue #7094
|
|
match side_effects() {
|
|
_ => println!("Side effects"),
|
|
}
|
|
|
|
// Lint (scrutinee has side effects)
|
|
// issue #7094
|
|
let x = 1;
|
|
match match x {
|
|
0 => 1,
|
|
_ => 2,
|
|
} {
|
|
_ => println!("Single branch"),
|
|
}
|
|
}
|