2 #![warn(clippy::all, clippy::pedantic)]
3 #![allow(clippy::iter_cloned_collect)]
4 #![allow(clippy::clone_on_copy, clippy::redundant_clone)]
5 #![allow(clippy::let_underscore_drop)]
6 #![allow(clippy::missing_docs_in_private_items)]
7 #![allow(clippy::redundant_closure_for_method_calls)]
8 #![allow(clippy::many_single_char_names)]
11 let _: Vec<i8> = vec![5_i8; 6].iter().copied().collect();
12 let _: Vec<String> = vec![String::new()].iter().cloned().collect();
13 let _: Vec<u32> = vec![42, 43].iter().copied().collect();
14 let _: Option<u64> = Some(Box::new(16)).map(|b| *b);
15 let _: Option<u64> = Some(&16).copied();
16 let _: Option<u8> = Some(&1).copied();
19 let v = vec![5_i8; 6];
22 let _ = v.iter().map(|_x| *b);
23 let _ = v.iter().map(|_x| a.clone());
24 let _ = v.iter().map(|&_x| a);
27 let _ = std::env::args();
29 // Issue #4824 item types that aren't references
33 let o: Option<Rc<u32>> = Some(Rc::new(0_u32));
34 let _: Option<u32> = o.map(|x| *x);
35 let v: Vec<Rc<u32>> = vec![Rc::new(0_u32)];
36 let _: Vec<u32> = v.into_iter().map(|x| *x).collect();
39 // Issue #5524 mutable references
43 let _: Vec<u32> = v.into_iter().map(|x| *x).collect();
46 let _: Vec<u32> = v.into_iter().map(|&mut x| x).collect();
53 let items = vec![&mut aa, &mut bb];
54 let _: Vec<_> = items.into_iter().map(|x| x.clone()).collect();
57 // Issue #6239 deref coercion and clone deref
59 use std::cell::RefCell;
61 let _ = Some(RefCell::new(String::new()).borrow()).map(|s| s.clone());