From e6980211c4c53fc1eeb686cd12363a8fa603daa3 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Wed, 20 Dec 2023 13:13:00 +0100 Subject: rework Network derives to be more consistent i don't even know anymore, blame past me --- src/primitive/variantlist.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/primitive/variantlist.rs') diff --git a/src/primitive/variantlist.rs b/src/primitive/variantlist.rs index b3ca720..d3518e6 100644 --- a/src/primitive/variantlist.rs +++ b/src/primitive/variantlist.rs @@ -45,3 +45,33 @@ impl Deserialize for VariantList { return Ok((pos, res)); } } + +impl crate::message::NetworkMap for Vec +where + S: std::convert::TryFrom + Into + Clone + std::hash::Hash + std::cmp::Eq, + >::Error: std::fmt::Debug, +{ + type Item = VariantList; + + fn to_network_map(&self) -> VariantList { + self.iter().map(|i| i.clone().into()).collect() + } + + fn from_network_map(input: &mut VariantList) -> Self { + input.iter().map(|i| i.clone().try_into().unwrap()).collect() + } +} + +impl crate::message::NetworkList for Vec +where + S: std::convert::TryFrom + Into + Clone + std::hash::Hash + std::cmp::Eq, + >::Error: std::fmt::Debug, +{ + fn to_network_list(&self) -> VariantList { + self.iter().map(|i| i.clone().into()).collect() + } + + fn from_network_list(input: &mut VariantList) -> Self { + input.iter().map(|i| i.clone().try_into().unwrap()).collect() + } +} -- cgit v1.2.3