为什么迭代器不可复制?

Per*_*ids 7 rust

许多迭代器实现了Clone特征,但它们都没有实现Copy特征.至少对于简单的迭代器一样std:slice::Iter,Clone执行看起来像一个的memcpy无论如何,所以为什么不Copy还实施?

DK.*_*DK. 9

PR#20790:

此PR还使迭代器非隐式可复制,因为这是库中的细微错误的来源.您仍然可以使用clone()显式复制迭代器.

  • 您能否提供这些细微错误之一的示例? (2认同)
  • @Shepmaster:我想不出来.我假设它与迭代器传递到`for`循环,得到修改,但保持*原始*迭代器未修改有关. (2认同)
  • 我发现了[一个示例](https://github.com/rust-lang/rust/pull/27186#issuecomment-123390413),它可以验证您的记忆。 (2认同)