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