### What it does Checks for usage of `_.cloned().()` where call to `.cloned()` can be postponed. ### Why is this bad? It's often inefficient to clone all elements of an iterator, when eventually, only some of them will be consumed. ### Known Problems This `lint` removes the side of effect of cloning items in the iterator. A code that relies on that side-effect could fail. ### Examples ``` vec.iter().cloned().take(10); vec.iter().cloned().last(); ``` Use instead: ``` vec.iter().take(10).cloned(); vec.iter().last().cloned(); ```