From 6f9c0d0f2906d05e27f9f11af6cefdf006c2cf4b Mon Sep 17 00:00:00 2001 From: Max Audron Date: Wed, 26 Feb 2025 17:53:08 +0100 Subject: refactor variant serialization code Factored out a lot of the serialization of variants into trait's that have auto impl so code duplication is much reduced --- src/primitive/variantlist.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/primitive/variantlist.rs') diff --git a/src/primitive/variantlist.rs b/src/primitive/variantlist.rs index 58286e3..ac8cc07 100644 --- a/src/primitive/variantlist.rs +++ b/src/primitive/variantlist.rs @@ -7,6 +7,8 @@ use crate::{deserialize::*, serialize::*}; use crate::primitive::Variant; +use crate::serialize::SerializeVariant; + /// VariantLists are represented as a Vec of Variants. /// /// They are serialized as the amount of entries as a i32 and then a Variant for each entry @@ -45,6 +47,10 @@ impl Deserialize for VariantList { } } +impl SerializeVariant for VariantList { + const TYPE: u32 = crate::primitive::QVARIANTLIST; +} + impl crate::message::NetworkMap for Vec where S: std::convert::TryFrom + Into + Clone + std::hash::Hash + std::cmp::Eq, -- cgit v1.2.3