about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonrad Borowski <konrad@borowski.pw>2018-12-05 17:55:53 +0100
committerKonrad Borowski <konrad@borowski.pw>2018-12-05 17:55:53 +0100
commitb4a306c1e648c84f289c63e984941b7faad10af1 (patch)
tree023abbe6dcb8f93e628b95dd1293f3aec5493361
parent431968df376ae24347872ba3986c4c3efd29d41e (diff)
downloadrust-b4a306c1e648c84f289c63e984941b7faad10af1.tar.gz
rust-b4a306c1e648c84f289c63e984941b7faad10af1.zip
Avoid calling clone in DoubleEndedIterator implementation of Copied
-rw-r--r--src/libcore/iter/mod.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcore/iter/mod.rs b/src/libcore/iter/mod.rs
index be09182c01a..de1a318cfb2 100644
--- a/src/libcore/iter/mod.rs
+++ b/src/libcore/iter/mod.rs
@@ -553,13 +553,13 @@ impl<'a, I, T: 'a> DoubleEndedIterator for Copied<I>
     fn try_rfold<B, F, R>(&mut self, init: B, mut f: F) -> R where
         Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Ok=B>
     {
-        self.it.try_rfold(init, move |acc, elt| f(acc, elt.clone()))
+        self.it.try_rfold(init, move |acc, &elt| f(acc, elt))
     }
 
     fn rfold<Acc, F>(self, init: Acc, mut f: F) -> Acc
         where F: FnMut(Acc, Self::Item) -> Acc,
     {
-        self.it.rfold(init, move |acc, elt| f(acc, elt.clone()))
+        self.it.rfold(init, move |acc, &elt| f(acc, elt))
     }
 }