diff --git a/ruma-identifiers/Cargo.toml b/ruma-identifiers/Cargo.toml index e4e7e7b8..0d2cac36 100644 --- a/ruma-identifiers/Cargo.toml +++ b/ruma-identifiers/Cargo.toml @@ -28,6 +28,7 @@ either = { version = "1.5.3", optional = true } rand = { version = "0.7.3", optional = true } ruma-identifiers-macros = { version = "=0.17.4", path = "../ruma-identifiers-macros" } ruma-identifiers-validation = { version = "0.1.1", path = "../ruma-identifiers-validation", default-features = false } +# Renamed so we can have a serde feature. serde1 = { package = "serde", version = "1.0.114", optional = true, features = ["derive"] } strum = { version = "0.19.2", features = ["derive"] } diff --git a/ruma-identifiers/src/device_id.rs b/ruma-identifiers/src/device_id.rs index 6b48965d..5ad72d1c 100644 --- a/ruma-identifiers/src/device_id.rs +++ b/ruma-identifiers/src/device_id.rs @@ -14,7 +14,7 @@ use crate::generate_localpart; /// simply for its semantic value. #[repr(transparent)] #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "serde", derive(serde1::Serialize), serde(transparent, crate = "serde1"))] +#[cfg_attr(feature = "serde", derive(serde::Serialize), serde(transparent, crate = "serde"))] pub struct DeviceId(str); /// An owned device identifier. @@ -115,10 +115,10 @@ impl Display for DeviceId { } #[cfg(feature = "serde")] -impl<'de> serde1::Deserialize<'de> for Box { +impl<'de> serde::Deserialize<'de> for Box { fn deserialize(deserializer: D) -> Result where - D: serde1::Deserializer<'de>, + D: serde::Deserializer<'de>, { crate::deserialize_id(deserializer, "An IP address or hostname") } diff --git a/ruma-identifiers/src/lib.rs b/ruma-identifiers/src/lib.rs index 3c54b3b0..d72cf903 100644 --- a/ruma-identifiers/src/lib.rs +++ b/ruma-identifiers/src/lib.rs @@ -9,10 +9,15 @@ )] #![cfg_attr(docsrs, feature(doc_cfg))] +// Renamed in `Cargo.toml` so we can have a serde feature. +// Rename it back here because `serde1` is ugly. +#[cfg(feature = "serde")] +extern crate serde1 as serde; + use std::convert::TryFrom; #[cfg(feature = "serde")] -use serde1::de::{self, Deserialize as _, Deserializer, Unexpected}; +use serde::de::{self, Deserialize as _, Deserializer, Unexpected}; #[doc(inline)] pub use crate::{ diff --git a/ruma-identifiers/src/macros.rs b/ruma-identifiers/src/macros.rs index fa9ed6b4..e3cf036d 100644 --- a/ruma-identifiers/src/macros.rs +++ b/ruma-identifiers/src/macros.rs @@ -110,21 +110,21 @@ macro_rules! common_impls { } } - #[cfg(feature = "serde1")] - impl ::serde1::Serialize for $id { + #[cfg(feature = "serde")] + impl ::serde::Serialize for $id { fn serialize(&self, serializer: S) -> Result where - S: ::serde1::Serializer, + S: ::serde::Serializer, { serializer.serialize_str(self.as_str()) } } - #[cfg(feature = "serde1")] - impl<'de> ::serde1::Deserialize<'de> for $id { + #[cfg(feature = "serde")] + impl<'de> ::serde::Deserialize<'de> for $id { fn deserialize(deserializer: D) -> Result where - D: ::serde1::Deserializer<'de>, + D: ::serde::Deserializer<'de>, { crate::deserialize_id(deserializer, $desc) } diff --git a/ruma-identifiers/src/room_version_id.rs b/ruma-identifiers/src/room_version_id.rs index e1c1723b..d468f0d7 100644 --- a/ruma-identifiers/src/room_version_id.rs +++ b/ruma-identifiers/src/room_version_id.rs @@ -8,7 +8,7 @@ use std::{ }; #[cfg(feature = "serde")] -use serde1::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; use crate::Error; diff --git a/ruma-identifiers/src/server_name.rs b/ruma-identifiers/src/server_name.rs index d52b8838..ea7f7143 100644 --- a/ruma-identifiers/src/server_name.rs +++ b/ruma-identifiers/src/server_name.rs @@ -14,7 +14,7 @@ use crate::Error; /// A Matrix-spec compliant server name. #[repr(transparent)] #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "serde", derive(serde1::Serialize), serde(transparent, crate = "serde1"))] +#[cfg_attr(feature = "serde", derive(serde::Serialize), serde(transparent, crate = "serde"))] pub struct ServerName(str); /// An owned server name. @@ -131,10 +131,10 @@ impl Display for ServerName { } #[cfg(feature = "serde")] -impl<'de> serde1::Deserialize<'de> for Box { +impl<'de> serde::Deserialize<'de> for Box { fn deserialize(deserializer: D) -> Result where - D: serde1::Deserializer<'de>, + D: serde::Deserializer<'de>, { crate::deserialize_id(deserializer, "An IP address or hostname") }