| #![warn(clippy::manual_contains)] |
| #![allow(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 |
| } |