serde_ignored_fields/features/
toml.rs

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