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