1 #![warn(clippy::same_item_push)]
3 fn mutate_increment(x: &mut u8) -> u8 {
8 fn increment(x: u8) -> u8 {
13 // Test for basic case
14 let mut spaces = Vec::with_capacity(10);
16 spaces.push(vec![b' ']);
19 let mut vec2: Vec<u8> = Vec::new();
25 let mut vec3: Vec<u8> = Vec::new();
31 let mut vec4: Vec<u8> = Vec::new();
36 // Suggestion should not be given as pushed variable can mutate
37 let mut vec5: Vec<u8> = Vec::new();
40 vec5.push(mutate_increment(&mut item));
43 let mut vec6: Vec<u8> = Vec::new();
45 let mut item2 = &mut mutate_increment(&mut item);
47 vec6.push(mutate_increment(item2));
50 let mut vec7: Vec<usize> = Vec::new();
51 for (a, b) in [0, 1, 4, 9, 16].iter().enumerate() {
55 let mut vec8: Vec<u8> = Vec::new();
57 vec8.push(increment(i));
60 let mut vec9: Vec<u8> = Vec::new();
65 // Suggestion should not be given as there are multiple pushes that are not the same
66 let mut vec10: Vec<u8> = Vec::new();
73 // Suggestion should not be given as Vec is not involved
75 println!("Same Item Push");
81 let mut vec_a: Vec<A> = Vec::new();
83 vec_a.push(A { kind: i });
85 let mut vec12: Vec<u8> = Vec::new();
87 vec12.push(2u8.pow(a.kind));
91 let mut vec13: Vec<u8> = Vec::new();