2 #![allow(clippy::useless_vec)]
3 #![warn(clippy::into_iter_on_ref)]
4 #![deny(clippy::into_iter_on_array)]
7 use std::collections::*;
10 for _ in &[1, 2, 3] {}
11 for _ in vec![X, X] {}
12 for _ in &vec![X, X] {}
13 for _ in [1, 2, 3].into_iter() {} //~ ERROR equivalent to .iter()
15 let _ = [1, 2, 3].into_iter(); //~ ERROR equivalent to .iter()
16 let _ = vec![1, 2, 3].into_iter();
17 let _ = (&vec![1, 2, 3]).into_iter(); //~ WARN equivalent to .iter()
18 let _ = vec![1, 2, 3].into_boxed_slice().into_iter(); //~ WARN equivalent to .iter()
19 let _ = std::rc::Rc::from(&[X][..]).into_iter(); //~ WARN equivalent to .iter()
20 let _ = std::sync::Arc::from(&[X][..]).into_iter(); //~ WARN equivalent to .iter()
22 let _ = (&&&&&&&[1, 2, 3]).into_iter(); //~ ERROR equivalent to .iter()
23 let _ = (&&&&mut &&&[1, 2, 3]).into_iter(); //~ ERROR equivalent to .iter()
24 let _ = (&mut &mut &mut [1, 2, 3]).into_iter(); //~ ERROR equivalent to .iter_mut()
26 let _ = (&Some(4)).into_iter(); //~ WARN equivalent to .iter()
27 let _ = (&mut Some(5)).into_iter(); //~ WARN equivalent to .iter_mut()
28 let _ = (&Ok::<_, i32>(6)).into_iter(); //~ WARN equivalent to .iter()
29 let _ = (&mut Err::<i32, _>(7)).into_iter(); //~ WARN equivalent to .iter_mut()
30 let _ = (&Vec::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
31 let _ = (&mut Vec::<i32>::new()).into_iter(); //~ WARN equivalent to .iter_mut()
32 let _ = (&BTreeMap::<i32, u64>::new()).into_iter(); //~ WARN equivalent to .iter()
33 let _ = (&mut BTreeMap::<i32, u64>::new()).into_iter(); //~ WARN equivalent to .iter_mut()
34 let _ = (&VecDeque::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
35 let _ = (&mut VecDeque::<i32>::new()).into_iter(); //~ WARN equivalent to .iter_mut()
36 let _ = (&LinkedList::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
37 let _ = (&mut LinkedList::<i32>::new()).into_iter(); //~ WARN equivalent to .iter_mut()
38 let _ = (&HashMap::<i32, u64>::new()).into_iter(); //~ WARN equivalent to .iter()
39 let _ = (&mut HashMap::<i32, u64>::new()).into_iter(); //~ WARN equivalent to .iter_mut()
41 let _ = (&BTreeSet::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
42 let _ = (&BinaryHeap::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
43 let _ = (&HashSet::<i32>::new()).into_iter(); //~ WARN equivalent to .iter()
44 let _ = std::path::Path::new("12/34").into_iter(); //~ WARN equivalent to .iter()
45 let _ = std::path::PathBuf::from("12/34").into_iter(); //~ ERROR equivalent to .iter()