1use core::convert::AsRef;2use serde::ser::{self, Serialize};34pub mod vec {5 use super::*;67 pub fn serialize<D, V, C>(value: &C, serializer: D) -> Result<D::Ok, D::Error>8 where9 D: ser::Serializer,10 V: Serialize,11 C: AsRef<[V]>,12 {13 value.as_ref().serialize(serializer)14 }15}1617pub mod opt_vec {18 use super::*;1920 pub fn serialize<D, V, C>(value: &Option<C>, serializer: D) -> Result<D::Ok, D::Error>21 where22 D: ser::Serializer,23 V: Serialize,24 C: AsRef<[V]>,25 {26 match value {27 Some(value) => super::vec::serialize(value, serializer),28 None => serializer.serialize_none(),29 }30 }31}