From cae6008c036a4fe690ef1b87d0c953fd05d9d4a6 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Sun, 22 Feb 2026 18:00:41 +0100 Subject: remove references from NetworkList input we do not need to reference stuff here and can just consume it --- src/primitive/bufferid.rs | 4 ++-- src/primitive/message.rs | 4 ++-- src/primitive/variant.rs | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src/primitive') diff --git a/src/primitive/bufferid.rs b/src/primitive/bufferid.rs index 88b56fa..8d76f5b 100644 --- a/src/primitive/bufferid.rs +++ b/src/primitive/bufferid.rs @@ -52,8 +52,8 @@ impl NetworkList for Vec { Ok(self.iter().map(|b| Variant::BufferId(*b)).collect()) } - fn from_network_list(input: &mut super::VariantList) -> Result { - input.iter().map(|b| b.try_into()).collect() + fn from_network_list(input: super::VariantList) -> Result { + input.into_iter().map(|b| b.try_into()).collect() } } diff --git a/src/primitive/message.rs b/src/primitive/message.rs index 819ddd1..5455908 100644 --- a/src/primitive/message.rs +++ b/src/primitive/message.rs @@ -206,12 +206,12 @@ where Ok(res) } - fn from_network_list(input: &mut VariantList) -> Result { + fn from_network_list(input: VariantList) -> Result { use itertools::Itertools; let mut res = HashMap::with_capacity(input.len() / 2); - input.iter().tuples().for_each(|(k, v)| { + input.into_iter().tuples().for_each(|(k, v)| { res.insert( match T::try_from(k.clone()) { Ok(it) => it, diff --git a/src/primitive/variant.rs b/src/primitive/variant.rs index a7db7c3..e332bf2 100644 --- a/src/primitive/variant.rs +++ b/src/primitive/variant.rs @@ -22,8 +22,9 @@ use libquassel_derive::From; /// /// ByteArray is de-/serialized as a C ByteArray. #[allow(non_camel_case_types, dead_code)] -#[derive(Clone, Debug, PartialEq, From)] +#[derive(Clone, Default, Debug, PartialEq, From)] pub enum Variant { + #[default] Unknown, #[from(ignore)] UserType(String, Vec), @@ -103,10 +104,10 @@ where Ok(res) } - fn from_network_list(input: &mut VariantList) -> Result { + fn from_network_list(input: VariantList) -> Result { let mut res = HashMap::with_capacity(input.len() / 2); - input.iter().tuples().for_each(|(k, v)| { + input.into_iter().tuples().for_each(|(k, v)| { res.insert( match T::try_from(k.clone()) { Ok(it) => it, -- cgit v1.2.3