serde_ignored_fields/features/
serde_yaml.rs1impl<'de> crate::DeserializeIgnoredFields<'de> for serde_yaml::Mapping {
2 type Key = serde_yaml::Value;
3 type Value = serde_yaml::Value;
4
5 fn insert<E: serde::de::Error>(&mut self, key: Self::Key, value: Self::Value) -> Result<(), E> {
6 use serde_yaml::mapping::Entry;
7 match self.entry(key) {
8 Entry::Vacant(x) => {
9 x.insert(value);
10 Ok(())
11 },
12 Entry::Occupied(x) => Err(E::custom(format!("duplicate field: {:?}", x.key()))),
13 }
14 }
15}
16
17impl crate::SerializeIgnoredFields for serde_yaml::Mapping {
18 type Key = serde_yaml::Value;
19 type Value = serde_yaml::Value;
20
21 fn len(&self) -> usize {
22 serde_yaml::Mapping::len(self)
23 }
24
25 fn iter(&self) -> impl Iterator<Item = (&Self::Key, &Self::Value)> {
26 serde_yaml::Mapping::iter(self)
27 }
28}