about summary refs log tree commit diff
path: root/src/libstd/owned.rs
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2013-07-28 01:25:30 +1000
committerHuon Wilson <dbau.pp+github@gmail.com>2013-08-04 19:46:52 +1000
commit88620c25f5a2b5e17f3bff1e70ed2fbee97c2217 (patch)
tree13dd033bad90738962b25cce173cfdd0d2764c8a /src/libstd/owned.rs
parent8407ec9fedccdd410dee2bca67651ce245ed5cd3 (diff)
downloadrust-88620c25f5a2b5e17f3bff1e70ed2fbee97c2217.tar.gz
rust-88620c25f5a2b5e17f3bff1e70ed2fbee97c2217.zip
std: implement Total{Ord,Eq} for pointers.
Diffstat (limited to 'src/libstd/owned.rs')
-rw-r--r--src/libstd/owned.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libstd/owned.rs b/src/libstd/owned.rs
index e7a6e38fdb0..424c4fd6b2f 100644
--- a/src/libstd/owned.rs
+++ b/src/libstd/owned.rs
@@ -10,7 +10,7 @@
 
 //! Operations on unique pointer types
 
-#[cfg(not(test))] use cmp::{Eq, Ord};
+#[cfg(not(test))] use cmp::*;
 
 #[cfg(not(test))]
 impl<T:Eq> Eq for ~T {
@@ -31,3 +31,15 @@ impl<T:Ord> Ord for ~T {
     #[inline]
     fn gt(&self, other: &~T) -> bool { *(*self) > *(*other) }
 }
+
+#[cfg(not(test))]
+impl<T: TotalOrd> TotalOrd for ~T {
+    #[inline]
+    fn cmp(&self, other: &~T) -> Ordering { (**self).cmp(*other) }
+}
+
+#[cfg(not(test))]
+impl<T: TotalEq> TotalEq for ~T {
+    #[inline]
+    fn equals(&self, other: &~T) -> bool { (**self).equals(*other) }
+}