Fix symmetric equality and ordering impls
This commit is contained in:
parent
71faefd21e
commit
dda6a080be
|
@ -1880,16 +1880,16 @@ impl TryFrom<String> for AbsolutePathBuf {
|
||||||
|
|
||||||
// === Between crate types ===
|
// === Between crate types ===
|
||||||
|
|
||||||
impl<From: PathCast<To>, To: PathForm> PartialEq<Path<To>> for Path<From> {
|
impl<Form: PathForm> PartialEq for Path<Form> {
|
||||||
fn eq(&self, other: &Path<To>) -> bool {
|
fn eq(&self, other: &Self) -> bool {
|
||||||
self.inner == other.inner
|
self.inner == other.inner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<Form: PathForm> Eq for Path<Form> {}
|
impl<Form: PathForm> Eq for Path<Form> {}
|
||||||
|
|
||||||
impl<From: PathCast<To>, To: PathForm> PartialOrd<Path<To>> for Path<From> {
|
impl<Form: PathForm> PartialOrd for Path<Form> {
|
||||||
fn partial_cmp(&self, other: &Path<To>) -> Option<Ordering> {
|
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
|
||||||
Some(self.inner.cmp(&other.inner))
|
Some(self.inner.cmp(&other.inner))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1906,16 +1906,16 @@ impl<Form: PathForm> Hash for Path<Form> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<From: PathCast<To>, To: PathForm> PartialEq<PathBuf<To>> for PathBuf<From> {
|
impl<Form: PathForm> PartialEq for PathBuf<Form> {
|
||||||
fn eq(&self, other: &PathBuf<To>) -> bool {
|
fn eq(&self, other: &Self) -> bool {
|
||||||
self.inner == other.inner
|
self.inner == other.inner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<Form: PathForm> Eq for PathBuf<Form> {}
|
impl<Form: PathForm> Eq for PathBuf<Form> {}
|
||||||
|
|
||||||
impl<From: PathCast<To>, To: PathForm> PartialOrd<PathBuf<To>> for PathBuf<From> {
|
impl<Form: PathForm> PartialOrd for PathBuf<Form> {
|
||||||
fn partial_cmp(&self, other: &PathBuf<To>) -> Option<Ordering> {
|
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
|
||||||
Some(self.inner.cmp(&other.inner))
|
Some(self.inner.cmp(&other.inner))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2002,6 +2002,24 @@ macro_rules! impl_cmp_cast {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl_cmp_cast!(<> Path, RelativePath);
|
||||||
|
impl_cmp_cast!(<> Path, AbsolutePath);
|
||||||
|
impl_cmp_cast!(<> Path, CanonicalPath);
|
||||||
|
impl_cmp_cast!(<> AbsolutePath, CanonicalPath);
|
||||||
|
impl_cmp_cast!(<> PathBuf, RelativePathBuf);
|
||||||
|
impl_cmp_cast!(<> PathBuf, AbsolutePathBuf);
|
||||||
|
impl_cmp_cast!(<> PathBuf, CanonicalPathBuf);
|
||||||
|
impl_cmp_cast!(<> AbsolutePathBuf, CanonicalPathBuf);
|
||||||
|
|
||||||
|
impl_cmp_cast!(<'a> &'a Path, RelativePath);
|
||||||
|
impl_cmp_cast!(<'a> &'a Path, AbsolutePath);
|
||||||
|
impl_cmp_cast!(<'a> &'a Path, CanonicalPath);
|
||||||
|
impl_cmp_cast!(<'a> &'a AbsolutePath, CanonicalPath);
|
||||||
|
impl_cmp_cast!(<'a> Path, &'a RelativePath);
|
||||||
|
impl_cmp_cast!(<'a> Path, &'a AbsolutePath);
|
||||||
|
impl_cmp_cast!(<'a> Path, &'a CanonicalPath);
|
||||||
|
impl_cmp_cast!(<'a> AbsolutePath, &'a CanonicalPath);
|
||||||
|
|
||||||
impl_cmp_cast!(<> PathBuf, RelativePath);
|
impl_cmp_cast!(<> PathBuf, RelativePath);
|
||||||
impl_cmp_cast!(<> PathBuf, AbsolutePath);
|
impl_cmp_cast!(<> PathBuf, AbsolutePath);
|
||||||
impl_cmp_cast!(<> PathBuf, CanonicalPath);
|
impl_cmp_cast!(<> PathBuf, CanonicalPath);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user