1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use serde::ser::{Serialize, SerializeMap, Serializer}; use std::hash::{BuildHasher, Hash}; use NonEmptyIndexMap; impl<K, V, H> Serialize for NonEmptyIndexMap<K, V, H> where K: Serialize, V: Serialize, K: Eq + Hash, H: BuildHasher, { fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer, { let mut map = serializer.serialize_map(Some(self.len()))?; for (k, v) in self.iter() { map.serialize_entry(k, v)?; } map.end() } }