diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 8ee2a8874bb0..5405c7aa3b7d 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -2166,7 +2166,7 @@ impl + Clone> Iterator for Counter { #[inline] fn next(&mut self) -> Option { let result = self.state.clone(); - self.state = self.state + self.step; + self.state = self.state.clone() + self.step.clone(); Some(result) } diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index 3c9b68b350b6..2416cf5bcc7a 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -37,8 +37,8 @@ use str::{FromStr, from_str, StrPrelude}; /// Simultaneous division and remainder #[inline] #[deprecated = "use division and remainder directly"] -pub fn div_rem + Rem>(x: T, y: T) -> (T, T) { - (x / y, x % y) +pub fn div_rem + Rem>(x: T, y: T) -> (T, T) { + (x.clone() / y.clone(), x % y) } /// Raises a `base` to the power of `exp`, using exponentiation by squaring.