I'm trying to figure out the difference between the copied() and cloned() methods on Rust's Iterator trait. Looking at the docs on Clone, I can see that it...
Differs from Copy in that Copy is implicit and extremely inexpensive, while Clone is always explicit and may or may not be expensive. [...] Since Clone is more general than Copy, you can automatically make anything Copy be Clone as well.
...but for iterators both methods are explicit so what's the point of copied()? Should I just always use cloned() as it will work in the more general case?