diff options
| author | Gleb Kozyrev <gleb@gkoz.com> | 2016-02-18 16:03:42 +0200 |
|---|---|---|
| committer | Gleb Kozyrev <gleb@gkoz.com> | 2016-02-18 16:03:42 +0200 |
| commit | 9fb4fcac8261a4ee328c6cfb06509916d5fa4108 (patch) | |
| tree | 46615913e2fe74bca91b4749d5cf19565a1c2146 /src/libstd/ffi | |
| parent | b54770c24578311ad6cc782fcf1d0dc8cb41e997 (diff) | |
| download | rust-9fb4fcac8261a4ee328c6cfb06509916d5fa4108.tar.gz rust-9fb4fcac8261a4ee328c6cfb06509916d5fa4108.zip | |
Add mutual PartialEq and PartialCmp impls for OsStr, OsString
Diffstat (limited to 'src/libstd/ffi')
| -rw-r--r-- | src/libstd/ffi/os_str.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/libstd/ffi/os_str.rs b/src/libstd/ffi/os_str.rs index eb5ddecbd05..717d8527fe0 100644 --- a/src/libstd/ffi/os_str.rs +++ b/src/libstd/ffi/os_str.rs @@ -343,6 +343,44 @@ impl Ord for OsStr { fn cmp(&self, other: &OsStr) -> cmp::Ordering { self.bytes().cmp(other.bytes()) } } +macro_rules! impl_cmp { + ($lhs:ty, $rhs: ty) => { + #[stable(feature = "cmp_os_str", since = "1.8.0")] + impl<'a, 'b> PartialEq<$rhs> for $lhs { + #[inline] + fn eq(&self, other: &$rhs) -> bool { <OsStr as PartialEq>::eq(self, other) } + } + + #[stable(feature = "cmp_os_str", since = "1.8.0")] + impl<'a, 'b> PartialEq<$lhs> for $rhs { + #[inline] + fn eq(&self, other: &$lhs) -> bool { <OsStr as PartialEq>::eq(self, other) } + } + + #[stable(feature = "cmp_os_str", since = "1.8.0")] + impl<'a, 'b> PartialOrd<$rhs> for $lhs { + #[inline] + fn partial_cmp(&self, other: &$rhs) -> Option<cmp::Ordering> { + <OsStr as PartialOrd>::partial_cmp(self, other) + } + } + + #[stable(feature = "cmp_os_str", since = "1.8.0")] + impl<'a, 'b> PartialOrd<$lhs> for $rhs { + #[inline] + fn partial_cmp(&self, other: &$lhs) -> Option<cmp::Ordering> { + <OsStr as PartialOrd>::partial_cmp(self, other) + } + } + } +} + +impl_cmp!(OsString, OsStr); +impl_cmp!(OsString, &'a OsStr); +impl_cmp!(Cow<'a, OsStr>, OsStr); +impl_cmp!(Cow<'a, OsStr>, &'b OsStr); +impl_cmp!(Cow<'a, OsStr>, OsString); + #[stable(feature = "rust1", since = "1.0.0")] impl Hash for OsStr { #[inline] |
