diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 97dcb2475a3cf..b493745fc2c77 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -1862,6 +1862,7 @@ impl DoubleEndedIterator for Enumerate where } /// An iterator with a `peek()` that returns an optional reference to the next element. +#[derive(Clone)] #[must_use = "iterator adaptors are lazy and do nothing unless consumed"] #[stable(feature = "rust1", since = "1.0.0")] pub struct Peekable { @@ -1869,15 +1870,6 @@ pub struct Peekable { peeked: Option, } -impl Clone for Peekable where I::Item: Clone { - fn clone(&self) -> Peekable { - Peekable { - iter: self.iter.clone(), - peeked: self.peeked.clone(), - } - } -} - #[stable(feature = "rust1", since = "1.0.0")] impl Iterator for Peekable { type Item = I::Item;