12345use core::convert::AsRef;6use serde::ser::{self, Serialize};78pub mod vec {9 use super::*;1011 pub fn serialize<D, V, C>(value: &C, serializer: D) -> Result<D::Ok, D::Error>12 where13 D: ser::Serializer,14 V: Serialize,15 C: AsRef<[V]>,16 {17 value.as_ref().serialize(serializer)18 }19}2021pub mod opt_vec {22 use super::*;2324 pub fn serialize<D, V, C>(value: &Option<C>, serializer: D) -> Result<D::Ok, D::Error>25 where26 D: ser::Serializer,27 V: Serialize,28 C: AsRef<[V]>,29 {30 match value {31 Some(value) => super::vec::serialize(value, serializer),32 None => serializer.serialize_none(),33 }34 }35}