diff --git a/crates/nu-path/src/path.rs b/crates/nu-path/src/path.rs index 6de1dd9587..7f64a2df26 100644 --- a/crates/nu-path/src/path.rs +++ b/crates/nu-path/src/path.rs @@ -1880,16 +1880,16 @@ impl TryFrom for AbsolutePathBuf { // === Between crate types === -impl, To: PathForm> PartialEq> for Path { - fn eq(&self, other: &Path) -> bool { +impl PartialEq for Path
{ + fn eq(&self, other: &Self) -> bool { self.inner == other.inner } } impl Eq for Path {} -impl, To: PathForm> PartialOrd> for Path { - fn partial_cmp(&self, other: &Path) -> Option { +impl PartialOrd for Path { + fn partial_cmp(&self, other: &Self) -> Option { Some(self.inner.cmp(&other.inner)) } } @@ -1906,16 +1906,16 @@ impl Hash for Path { } } -impl, To: PathForm> PartialEq> for PathBuf { - fn eq(&self, other: &PathBuf) -> bool { +impl PartialEq for PathBuf { + fn eq(&self, other: &Self) -> bool { self.inner == other.inner } } impl Eq for PathBuf {} -impl, To: PathForm> PartialOrd> for PathBuf { - fn partial_cmp(&self, other: &PathBuf) -> Option { +impl PartialOrd for PathBuf { + fn partial_cmp(&self, other: &Self) -> Option { 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, AbsolutePath); impl_cmp_cast!(<> PathBuf, CanonicalPath);