mirror of
https://github.com/astral-sh/uv.git
synced 2025-11-01 12:24:15 +00:00
Remove serialize traits from verbatim URL (#5501)
This commit is contained in:
parent
4f3dde34dc
commit
8f16f1b746
3 changed files with 2 additions and 38 deletions
|
|
@ -1,6 +1,5 @@
|
|||
use std::fmt::{Display, Formatter};
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use thiserror::Error;
|
||||
use url::{ParseError, Url};
|
||||
|
||||
|
|
@ -138,37 +137,6 @@ impl Display for VerbatimParsedUrl {
|
|||
}
|
||||
}
|
||||
|
||||
impl TryFrom<VerbatimUrl> for VerbatimParsedUrl {
|
||||
type Error = ParsedUrlError;
|
||||
|
||||
fn try_from(verbatim_url: VerbatimUrl) -> Result<Self, Self::Error> {
|
||||
let parsed_url = ParsedUrl::try_from(verbatim_url.to_url())?;
|
||||
Ok(Self {
|
||||
parsed_url,
|
||||
verbatim: verbatim_url,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
impl serde::ser::Serialize for VerbatimParsedUrl {
|
||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||
where
|
||||
S: serde::ser::Serializer,
|
||||
{
|
||||
self.verbatim.serialize(serializer)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'de> serde::de::Deserialize<'de> for VerbatimParsedUrl {
|
||||
fn deserialize<D>(deserializer: D) -> Result<VerbatimParsedUrl, D::Error>
|
||||
where
|
||||
D: serde::de::Deserializer<'de>,
|
||||
{
|
||||
let verbatim_url = VerbatimUrl::deserialize(deserializer)?;
|
||||
Self::try_from(verbatim_url).map_err(serde::de::Error::custom)
|
||||
}
|
||||
}
|
||||
|
||||
/// We support three types of URLs for distributions:
|
||||
/// * The path to a file or directory (`file://`)
|
||||
/// * A Git repository (`git+https://` or `git+ssh://`), optionally with a subdirectory and/or
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue