| #![warn(clippy::manual_contains)] | |
| #![expect(clippy::eq_op, clippy::useless_vec)] | |
| fn should_lint() { | |
| let vec: Vec<u8> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let _ = values.contains(&4); | |
| //~^ manual_contains | |
| let vec: Vec<u32> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let _ = values.contains(&4); | |
| //~^ manual_contains | |
| let values: [u8; 6] = [3, 14, 15, 92, 6, 5]; | |
| let _ = values.contains(&10); | |
| //~^ manual_contains | |
| let num = 14; | |
| let values: [u8; 6] = [3, 14, 15, 92, 6, 5]; | |
| let _ = values.contains(&num); | |
| //~^ manual_contains | |
| let num = 14; | |
| let values: [u8; 6] = [3, 14, 15, 92, 6, 5]; | |
| let _ = values.contains(&num); | |
| //~^ manual_contains | |
| let values: [u8; 6] = [3, 14, 15, 92, 6, 5]; | |
| let _ = values.contains(&4); | |
| //~^ manual_contains | |
| let vec: Vec<u8> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let _ = values.contains(&4); | |
| //~^ manual_contains | |
| let vec: Vec<u8> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let a = &4; | |
| let _ = values.contains(a); | |
| //~^ manual_contains | |
| let vec = vec!["1", "2", "3", "4", "5", "6"]; | |
| let values = &vec[..]; | |
| let _ = values.contains(&"4"); | |
| //~^ manual_contains | |
| let vec: Vec<u32> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let _ = values.contains(&(4 + 1)); | |
| //~^ manual_contains | |
| } | |
| fn should_not_lint() { | |
| let values: [u8; 6] = [3, 14, 15, 92, 6, 5]; | |
| let _ = values.iter().any(|&v| v > 10); | |
| let vec: Vec<u32> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let _ = values.iter().any(|&v| v.is_multiple_of(2)); | |
| let _ = values.iter().any(|&v| v * 2 == 6); | |
| let _ = values.iter().any(|&v| v == v); | |
| let _ = values.iter().any(|&v| 4 == 4); | |
| let _ = values.contains(&4); | |
| let a = 1; | |
| let b = 2; | |
| let _ = values.iter().any(|&v| a == b); | |
| let _ = values.iter().any(|&v| a == 4); | |
| let vec: Vec<String> = vec!["1", "2", "3", "4", "5", "6"] | |
| .iter() | |
| .map(|&x| x.to_string()) | |
| .collect(); | |
| let values = &vec[..]; | |
| let _ = values.iter().any(|v| v == "4"); | |
| let vec: Vec<u32> = vec![1, 2, 3, 4, 5, 6]; | |
| let values = &vec[..]; | |
| let mut counter = 0; | |
| let mut count = || { | |
| counter += 1; | |
| counter | |
| }; | |
| let _ = values.iter().any(|&v| v == count()); | |
| let _ = values.iter().any(|&v| v == v * 2); | |
| } | |
| fn foo(values: &[u8]) -> bool { | |
| values.contains(&10) | |
| //~^ manual_contains | |
| } | |
| fn bar(values: [u8; 3]) -> bool { | |
| values.contains(&10) | |
| //~^ manual_contains | |
| } |