xmlity 0.0.9

A (de)serialization library for XML
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::borrow::Cow;

use crate::{Deserialize, Serialize};

// Cow
impl<'de, T: Deserialize<'de> + Clone> Deserialize<'de> for Cow<'_, T> {
    fn deserialize<D: crate::Deserializer<'de>>(reader: D) -> Result<Self, D::Error> {
        Deserialize::deserialize(reader).map(Cow::Owned)
    }
}

impl<T: Serialize + Clone> Serialize for Cow<'_, T> {
    fn serialize<S: crate::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
        T::serialize(self, serializer)
    }
}

// Explicitly not implementing for Rc and Arc for now.