| use de::{Deserialize, DeserializeSeed, Deserializer}; |
| |
| /// A DeserializeSeed helper for implementing deserialize_in_place Visitors. |
| /// |
| /// Wraps a mutable reference and calls deserialize_in_place on it. |
| pub struct InPlaceSeed<'a, T: 'a>(pub &'a mut T); |
| |
| impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T> |
| where |
| T: Deserialize<'de>, |
| { |
| type Value = (); |
| fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error> |
| where |
| D: Deserializer<'de>, |
| { |
| T::deserialize_in_place(deserializer, self.0) |
| } |
| } |