diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/cmp.rs | 4 | ||||
| -rw-r--r-- | src/libstd/iter.rs | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/libstd/cmp.rs b/src/libstd/cmp.rs index 6975c9da3f0..023b2028703 100644 --- a/src/libstd/cmp.rs +++ b/src/libstd/cmp.rs @@ -184,12 +184,12 @@ pub trait Equiv<T> { } #[inline] -pub fn min<T:Ord>(v1: T, v2: T) -> T { +pub fn min<T: TotalOrd>(v1: T, v2: T) -> T { if v1 < v2 { v1 } else { v2 } } #[inline] -pub fn max<T:Ord>(v1: T, v2: T) -> T { +pub fn max<T: TotalOrd>(v1: T, v2: T) -> T { if v1 > v2 { v1 } else { v2 } } diff --git a/src/libstd/iter.rs b/src/libstd/iter.rs index 11d7bc6c1bf..6bcac425420 100644 --- a/src/libstd/iter.rs +++ b/src/libstd/iter.rs @@ -68,7 +68,7 @@ use cmp; use num::{Zero, One, CheckedAdd, CheckedSub, Saturating, ToPrimitive, Int}; use option::{Option, Some, None}; use ops::{Add, Mul, Sub}; -use cmp::{Eq, Ord}; +use cmp::{Eq, Ord, TotalOrd}; use clone::Clone; use uint; use mem; @@ -626,7 +626,7 @@ pub trait Iterator<A> { /// assert_eq!(*xs.iter().max_by(|x| x.abs()).unwrap(), -10); /// ``` #[inline] - fn max_by<B: Ord>(&mut self, f: |&A| -> B) -> Option<A> { + fn max_by<B: TotalOrd>(&mut self, f: |&A| -> B) -> Option<A> { self.fold(None, |max: Option<(A, B)>, x| { let x_val = f(&x); match max { @@ -650,7 +650,7 @@ pub trait Iterator<A> { /// assert_eq!(*xs.iter().min_by(|x| x.abs()).unwrap(), 0); /// ``` #[inline] - fn min_by<B: Ord>(&mut self, f: |&A| -> B) -> Option<A> { + fn min_by<B: TotalOrd>(&mut self, f: |&A| -> B) -> Option<A> { self.fold(None, |min: Option<(A, B)>, x| { let x_val = f(&x); match min { @@ -917,7 +917,7 @@ pub trait OrdIterator<A> { fn min_max(&mut self) -> MinMaxResult<A>; } -impl<A: Ord, T: Iterator<A>> OrdIterator<A> for T { +impl<A: TotalOrd, T: Iterator<A>> OrdIterator<A> for T { #[inline] fn max(&mut self) -> Option<A> { self.fold(None, |max, x| { |
