mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-30 16:39:26 +00:00
53 lines
1.2 KiB
Rust
53 lines
1.2 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)) => {
|
|
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");
|
|
}
|