serde_ignored_fields/features/
serde_yaml.rs

1impl<'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}