2019-01-13 12:10:25 +00:00
|
|
|
// run-rustfix
|
2018-10-02 13:13:43 +00:00
|
|
|
#![warn(clippy::all, clippy::pedantic)]
|
2019-01-13 12:10:25 +00:00
|
|
|
#![allow(clippy::iter_cloned_collect)]
|
2019-09-16 15:50:36 +00:00
|
|
|
#![allow(clippy::clone_on_copy, clippy::redundant_clone)]
|
2018-10-02 13:13:43 +00:00
|
|
|
#![allow(clippy::missing_docs_in_private_items)]
|
2019-05-16 18:18:07 +00:00
|
|
|
#![allow(clippy::redundant_closure_for_method_calls)]
|
2020-04-25 20:49:06 +00:00
|
|
|
#![allow(clippy::many_single_char_names)]
|
2018-10-02 13:13:43 +00:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let _: Vec<i8> = vec![5_i8; 6].iter().map(|x| *x).collect();
|
|
|
|
let _: Vec<String> = vec![String::new()].iter().map(|x| x.clone()).collect();
|
|
|
|
let _: Vec<u32> = vec![42, 43].iter().map(|&x| x).collect();
|
2018-10-07 19:20:32 +00:00
|
|
|
let _: Option<u64> = Some(Box::new(16)).map(|b| *b);
|
2019-04-15 21:48:45 +00:00
|
|
|
let _: Option<u64> = Some(&16).map(|b| *b);
|
|
|
|
let _: Option<u8> = Some(&1).map(|x| x.clone());
|
2019-01-15 06:09:47 +00:00
|
|
|
|
|
|
|
// Don't lint these
|
|
|
|
let v = vec![5_i8; 6];
|
|
|
|
let a = 0;
|
|
|
|
let b = &a;
|
|
|
|
let _ = v.iter().map(|_x| *b);
|
|
|
|
let _ = v.iter().map(|_x| a.clone());
|
|
|
|
let _ = v.iter().map(|&_x| a);
|
|
|
|
|
2019-01-15 06:36:56 +00:00
|
|
|
// Issue #498
|
2019-01-15 06:09:47 +00:00
|
|
|
let _ = std::env::args().map(|v| v.clone());
|
2019-12-22 09:26:51 +00:00
|
|
|
|
|
|
|
// Issue #4824 item types that aren't references
|
|
|
|
{
|
|
|
|
use std::rc::Rc;
|
|
|
|
|
|
|
|
let o: Option<Rc<u32>> = Some(Rc::new(0_u32));
|
|
|
|
let _: Option<u32> = o.map(|x| *x);
|
|
|
|
let v: Vec<Rc<u32>> = vec![Rc::new(0_u32)];
|
|
|
|
let _: Vec<u32> = v.into_iter().map(|x| *x).collect();
|
|
|
|
}
|
2020-04-25 20:49:06 +00:00
|
|
|
|
|
|
|
// Issue #5524 mutable references
|
|
|
|
{
|
|
|
|
let mut c = 42;
|
|
|
|
let v = vec![&mut c];
|
|
|
|
let _: Vec<u32> = v.into_iter().map(|x| *x).collect();
|
|
|
|
let mut d = 21;
|
|
|
|
let v = vec![&mut d];
|
|
|
|
let _: Vec<u32> = v.into_iter().map(|&mut x| x).collect();
|
|
|
|
}
|
2018-10-02 13:13:43 +00:00
|
|
|
}
|