This commit is contained in:
Andrew Morris
2023-10-27 11:25:28 +11:00
parent 5fba28c872
commit a635155772

View File

@@ -1,20 +1,17 @@
use std::rc::Rc;
use serde::{Deserializer, Serializer};
use serde::{Deserialize, Deserializer, Serialize, Serializer};
pub fn serialize_rc<T, S>(data: &Rc<T>, serializer: S) -> Result<S::Ok, S::Error>
where
T: serde::Serialize,
S: Serializer,
{
pub fn serialize_rc<T: Serialize, S: Serializer>(
data: &Rc<T>,
serializer: S,
) -> Result<S::Ok, S::Error> {
data.serialize(serializer)
}
pub fn deserialize_rc<'de, T, D>(deserializer: D) -> Result<Rc<T>, D::Error>
where
T: serde::Deserialize<'de>,
D: Deserializer<'de>,
{
pub fn deserialize_rc<'de, T: Deserialize<'de>, D: Deserializer<'de>>(
deserializer: D,
) -> Result<Rc<T>, D::Error> {
let data = T::deserialize(deserializer)?;
Ok(Rc::new(data))
}