From ee254a82307b45eb04c7f86389d057f5af9df436 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Sun, 25 Aug 2024 22:11:55 -0400 Subject: [PATCH] Use `serde(transparent)` for `UrlString` (#6633) --- crates/distribution-types/src/file.rs | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/crates/distribution-types/src/file.rs b/crates/distribution-types/src/file.rs index 427e72dc6..c68ee1d82 100644 --- a/crates/distribution-types/src/file.rs +++ b/crates/distribution-types/src/file.rs @@ -143,32 +143,17 @@ impl Display for FileLocation { PartialOrd, Ord, Hash, + Serialize, + Deserialize, rkyv::Archive, rkyv::Deserialize, rkyv::Serialize, )] +#[serde(transparent)] #[archive(check_bytes)] #[archive_attr(derive(Debug))] pub struct UrlString(String); -impl serde::Serialize for UrlString { - fn serialize(&self, serializer: S) -> Result - where - S: serde::ser::Serializer, - { - String::serialize(&self.0, serializer) - } -} - -impl<'de> serde::de::Deserialize<'de> for UrlString { - fn deserialize(deserializer: D) -> Result - where - D: serde::de::Deserializer<'de>, - { - String::deserialize(deserializer).map(UrlString) - } -} - impl UrlString { /// Converts a [`UrlString`] to a [`Url`]. pub fn to_url(&self) -> Url {