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 --- derive/src/network/list.rs | 63 ---------------------------------------------- 1 file changed, 63 deletions(-) (limited to 'derive/src/network/list.rs') diff --git a/derive/src/network/list.rs b/derive/src/network/list.rs index d1035c4..4da958c 100644 --- a/derive/src/network/list.rs +++ b/derive/src/network/list.rs @@ -36,66 +36,3 @@ pub(crate) fn to(fields: &[NetworkField]) -> Vec { }) .collect() } - -pub(crate) fn from(fields: &[NetworkField]) -> Vec { - fields - .iter() - .map(|field| { - let field_name = field.ident.as_ref().unwrap(); - - let field_rename = match &field.rename { - Some(name) => name.clone(), - None => format!("{}", field.ident.as_ref().unwrap()), - }; - - let field_variant_type = get_field_variant_type(field); - - let extract_inner = if field.default { - quote! { - let mut i = input.iter(); - match i.position(|x| *x == libquassel::primitive::Variant::ByteArray(String::from(#field_rename))) { - Some(_) => { - match i.next().ok_or_else(|| crate::ProtocolError::MissingField(#field_rename.to_string()))? { - libquassel::primitive::Variant::#field_variant_type(var) => var - .clone() - .try_into() - .unwrap_or(Default::default()), - _ => Default::default(), - } - } - None => Default::default(), - } - } - } else { - quote! { - let mut i = input.iter(); - i.position(|x| *x == libquassel::primitive::Variant::ByteArray(String::from(#field_rename))) - .expect(format!("failed to get field {}", #field_rename).as_str()); - - match i.next().expect("failed to get next field") { - libquassel::primitive::Variant::#field_variant_type(var) => var.clone().try_into().unwrap(), - _ => panic!("network::list::from: wrong variant type"), - } - } - }; - - match field.network { - super::NetworkRepr::List => quote! { - #field_name: libquassel::message::NetworkList::from_network_list(&mut { - #extract_inner - })?, - }, - super::NetworkRepr::Map => quote! { - #field_name: libquassel::message::NetworkMap::from_network_map(&mut { - #extract_inner - })?, - }, - super::NetworkRepr::None => quote! { - #field_name: { - #extract_inner - }, - }, - } - }) - .collect() -} -- cgit v1.2.3