]>
Commit | Line | Data |
---|---|---|
923072b8 | 1 | #![warn(clippy::get_first)] |
fe692bf9 | 2 | #![allow(clippy::useless_vec)] |
add651ee | 3 | use std::collections::{BTreeMap, HashMap, VecDeque}; |
923072b8 FG |
4 | |
5 | struct Bar { | |
6 | arr: [u32; 3], | |
7 | } | |
8 | ||
9 | impl Bar { | |
10 | fn get(&self, pos: usize) -> Option<&u32> { | |
11 | self.arr.get(pos) | |
12 | } | |
13 | } | |
14 | ||
15 | fn main() { | |
16 | let x = vec![2, 3, 5]; | |
17 | let _ = x.get(0); // Use x.first() | |
18 | let _ = x.get(1); | |
19 | let _ = x[0]; | |
20 | ||
21 | let y = [2, 3, 5]; | |
22 | let _ = y.get(0); // Use y.first() | |
23 | let _ = y.get(1); | |
24 | let _ = y[0]; | |
25 | ||
26 | let z = &[2, 3, 5]; | |
27 | let _ = z.get(0); // Use z.first() | |
28 | let _ = z.get(1); | |
29 | let _ = z[0]; | |
30 | ||
31 | let vecdeque: VecDeque<_> = x.iter().cloned().collect(); | |
32 | let hashmap: HashMap<u8, char> = HashMap::from_iter(vec![(0, 'a'), (1, 'b')]); | |
33 | let btreemap: BTreeMap<u8, char> = BTreeMap::from_iter(vec![(0, 'a'), (1, 'b')]); | |
34 | let _ = vecdeque.get(0); // Do not lint, because VecDeque is not slice. | |
35 | let _ = hashmap.get(&0); // Do not lint, because HashMap is not slice. | |
36 | let _ = btreemap.get(&0); // Do not lint, because BTreeMap is not slice. | |
37 | ||
38 | let bar = Bar { arr: [0, 1, 2] }; | |
39 | let _ = bar.get(0); // Do not lint, because Bar is struct. | |
40 | } |