diff options
Diffstat (limited to '')
-rw-r--r-- | src/tools/clippy/tests/ui/needless_collect.fixed | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/needless_collect.fixed b/src/tools/clippy/tests/ui/needless_collect.fixed index 6ecbbcb62..2659ad384 100644 --- a/src/tools/clippy/tests/ui/needless_collect.fixed +++ b/src/tools/clippy/tests/ui/needless_collect.fixed @@ -33,4 +33,33 @@ fn main() { // `BinaryHeap` doesn't have `contains` method sample.iter().count(); sample.iter().next().is_none(); + + // Don't lint string from str + let _ = ["", ""].into_iter().collect::<String>().is_empty(); + + let _ = sample.iter().next().is_none(); + let _ = sample.iter().any(|x| x == &0); + + struct VecWrapper<T>(Vec<T>); + impl<T> core::ops::Deref for VecWrapper<T> { + type Target = Vec<T>; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl<T> IntoIterator for VecWrapper<T> { + type IntoIter = <Vec<T> as IntoIterator>::IntoIter; + type Item = <Vec<T> as IntoIterator>::Item; + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } + } + impl<T> FromIterator<T> for VecWrapper<T> { + fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self { + Self(Vec::from_iter(iter)) + } + } + + let _ = sample.iter().next().is_none(); + let _ = sample.iter().any(|x| x == &0); } |