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