about summary refs log tree commit diff
path: root/src/libstd/cmp.rs
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2014-03-08 01:10:32 -0500
committerDaniel Micay <danielmicay@gmail.com>2014-03-14 15:26:05 -0400
commit4e1c2158f29fbb6c2bdb4d50f1fdc6a30685bc3c (patch)
treea79d99849861d34fc0c61c7a0b8886e8c94f171b /src/libstd/cmp.rs
parent3fbee34a89c478f959046bf4b4e12a70e937c374 (diff)
downloadrust-4e1c2158f29fbb6c2bdb4d50f1fdc6a30685bc3c.tar.gz
rust-4e1c2158f29fbb6c2bdb4d50f1fdc6a30685bc3c.zip
cmp: switch `min` and `max` to `TotalOrd`
The `Float` trait provides correct `min` and `max` methods on floating
point types, providing a consistent result regardless of the order the
parameters are passed.

These generic functions do not take the necessary performance hit to
correctly support a partial order, so the true requirement should be
given as a type bound.

Closes #12712
Diffstat (limited to 'src/libstd/cmp.rs')
-rw-r--r--src/libstd/cmp.rs4
1 files changed, 2 insertions, 2 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 }
 }