serde_ignored_fields/features/
serde_yml.rs

1impl<'de> crate::DeserializeIgnoredFields<'de> for serde_yml::Mapping {
2	type Key = serde_yml::Value;
3	type Value = serde_yml::Value;
4
5	fn insert<E: serde::de::Error>(&mut self, key: Self::Key, value: Self::Value) -> Result<(), E> {
6		use serde_yml::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_yml::Mapping {
18	type Key = serde_yml::Value;
19	type Value = serde_yml::Value;
20
21	fn len(&self) -> usize {
22		serde_yml::Mapping::len(self)
23	}
24
25	fn iter(&self) -> impl Iterator<Item = (&Self::Key, &Self::Value)> {
26		serde_yml::Mapping::iter(self)
27	}
28}