From 532ee3c6d6907bd683c643756c1842446ed62faa Mon Sep 17 00:00:00 2001 From: Andrew Paseltiner Date: Tue, 29 Sep 2015 18:35:33 -0400 Subject: [PATCH] Derive `Clone` for `Peekable` --- src/libcore/iter.rs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) 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;