/build/cargo-vendor-dir/serde-1.0.219/src/de/seed.rs
Line | Count | Source |
1 | | use crate::de::{Deserialize, DeserializeSeed, Deserializer}; |
2 | | |
3 | | /// A DeserializeSeed helper for implementing deserialize_in_place Visitors. |
4 | | /// |
5 | | /// Wraps a mutable reference and calls deserialize_in_place on it. |
6 | | pub struct InPlaceSeed<'a, T: 'a>(pub &'a mut T); |
7 | | |
8 | | impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T> |
9 | | where |
10 | | T: Deserialize<'de>, |
11 | | { |
12 | | type Value = (); |
13 | 0 | fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error> |
14 | 0 | where |
15 | 0 | D: Deserializer<'de>, |
16 | 0 | { |
17 | 0 | T::deserialize_in_place(deserializer, self.0) |
18 | 0 | } |
19 | | } |