about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorGleb Kozyrev <gleb@gkoz.com>2016-02-18 16:07:12 +0200
committerGleb Kozyrev <gleb@gkoz.com>2016-02-18 16:08:11 +0200
commitccad5449ff11b07368a30a7d843cc6ce57fdd0aa (patch)
tree885af91952e1dcd88a61a42bb949787abd75c60d /src/libstd
parent27be4336d9dc0a829ca3c19e8b08a404b11b359d (diff)
downloadrust-ccad5449ff11b07368a30a7d843cc6ce57fdd0aa.tar.gz
rust-ccad5449ff11b07368a30a7d843cc6ce57fdd0aa.zip
Add mutual PartialOrd impls for Path and PathBuf
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/path.rs27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/libstd/path.rs b/src/libstd/path.rs
index 97edb35e5b6..887de66a1bd 100644
--- a/src/libstd/path.rs
+++ b/src/libstd/path.rs
@@ -2051,7 +2051,7 @@ impl<'a> IntoIterator for &'a Path {
     fn into_iter(self) -> Iter<'a> { self.iter() }
 }
 
-macro_rules! impl_eq {
+macro_rules! impl_cmp {
     ($lhs:ty, $rhs: ty) => {
         #[stable(feature = "partialeq_path", since = "1.6.0")]
         impl<'a, 'b> PartialEq<$rhs> for $lhs {
@@ -2065,14 +2065,29 @@ macro_rules! impl_eq {
             fn eq(&self, other: &$lhs) -> bool { <Path as PartialEq>::eq(self, other) }
         }
 
+        #[stable(feature = "cmp_path", since = "1.8.0")]
+        impl<'a, 'b> PartialOrd<$rhs> for $lhs {
+            #[inline]
+            fn partial_cmp(&self, other: &$rhs) -> Option<cmp::Ordering> {
+                <Path as PartialOrd>::partial_cmp(self, other)
+            }
+        }
+
+        #[stable(feature = "cmp_path", since = "1.8.0")]
+        impl<'a, 'b> PartialOrd<$lhs> for $rhs {
+            #[inline]
+            fn partial_cmp(&self, other: &$lhs) -> Option<cmp::Ordering> {
+                <Path as PartialOrd>::partial_cmp(self, other)
+            }
+        }
     }
 }
 
-impl_eq!(PathBuf, Path);
-impl_eq!(PathBuf, &'a Path);
-impl_eq!(Cow<'a, Path>, Path);
-impl_eq!(Cow<'a, Path>, &'b Path);
-impl_eq!(Cow<'a, Path>, PathBuf);
+impl_cmp!(PathBuf, Path);
+impl_cmp!(PathBuf, &'a Path);
+impl_cmp!(Cow<'a, Path>, Path);
+impl_cmp!(Cow<'a, Path>, &'b Path);
+impl_cmp!(Cow<'a, Path>, PathBuf);
 
 #[stable(since = "1.7.0", feature = "strip_prefix")]
 impl fmt::Display for StripPrefixError {