### What it does Checks for types that implement `Copy` as well as `Iterator`. ### Why is this bad? Implicit copies can be confusing when working with iterator combinators. ### Example ``` #[derive(Copy, Clone)] struct Countdown(u8); impl Iterator for Countdown { // ... } let a: Vec<_> = my_iterator.take(1).collect(); let b: Vec<_> = my_iterator.collect(); ```