// Copyright © 2022 Kim Altintop // SPDX-License-Identifier: GPL-2.0-only WITH openvpn-openssl-exception pub mod display { use std::{ fmt, str::FromStr, }; pub fn serialize(v: &T, serializer: S) -> Result where T: ToString, S: serde::Serializer, { serializer.serialize_str(&v.to_string()) } #[allow(unused)] pub fn deserialize<'de, T, D>(deserializer: D) -> Result where T: FromStr, T::Err: fmt::Display, D: serde::Deserializer<'de>, { let s: &str = serde::Deserialize::deserialize(deserializer)?; s.parse().map_err(serde::de::Error::custom) } }