### What it does Checks for code to be replaced by `.retain()`. ### Why is this bad? `.retain()` is simpler and avoids needless allocation. ### Example ``` let mut vec = vec![0, 1, 2]; vec = vec.iter().filter(|&x| x % 2 == 0).copied().collect(); vec = vec.into_iter().filter(|x| x % 2 == 0).collect(); ``` Use instead: ``` let mut vec = vec![0, 1, 2]; vec.retain(|x| x % 2 == 0); ```