non_empty_collections/index_set/
serialize.rs

1use 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}