use serde::{Deserializer, Deserialize, Serializer, ser::SerializeSeq}; use url::Url; #[allow(clippy::ptr_arg)] crate fn serialize(urls: &Vec, serializer: S) -> Result where S: Serializer, { let mut seq = serializer.serialize_seq(Some(urls.len()))?; for url in urls { seq.serialize_element(&url_serde::Ser::new(url))?; } seq.end() } crate fn deserialize<'de, D>(deserializer: D) -> Result, D::Error> where D: Deserializer<'de> { let urls: Vec> = Vec::deserialize(deserializer)?; Ok(urls.into_iter().map(url_serde::De::into_inner).collect()) }