ITADN

0.1.4 breaks Serde support

#10Closedrussellbanks 创建于 2024-03-10
R
russellbankscommented
In 0.1.3, I was using `oxilangtag = { version = "0.1.3", features = ["serde"] }`. This no longer works in 0.1.4 as it's been changed to `dep:serde` in https://github.com/oxigraph/oxilangtag/commit/ac3368223b30f4b40b620a8fa57da894d44e3802. I noticed that the feature for serde support is called `serialize`, so I changed the feature to that - `oxilangtag = { version = "0.1.4", features = ["serialize"] }`. However, the actual code is gated behind the feature `serde` which can no longer be enabled in 0.1.4. For example: ```rust #[cfg(feature = "serde")] impl<T: Serialize> Serialize for LanguageTag<T> { fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { self.tag.serialize(serializer) } } #[cfg(feature = "serde")] impl<'de, T: Deref<Target = str> + Deserialize<'de>> Deserialize<'de> for LanguageTag<T> { fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<LanguageTag<T>, D::Error> { use serde::de::Error; Self::parse(T::deserialize(deserializer)?).map_err(D::Error::custom) } } ``` Either the feature to enable serde support should be called `serde` or instances of `#[cfg(feature = "serde")]` should be changed to `#[cfg(feature = "serialize")]`.
关闭于 2024-03-23 1 条评论