aboutsummaryrefslogtreecommitdiff
path: root/derive/src/from_network_impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'derive/src/from_network_impl.rs')
-rw-r--r--derive/src/from_network_impl.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/derive/src/from_network_impl.rs b/derive/src/from_network_impl.rs
index c3a3be2..ff05f1c 100644
--- a/derive/src/from_network_impl.rs
+++ b/derive/src/from_network_impl.rs
@@ -56,7 +56,7 @@ pub(crate) fn map_list(fields: &Vec<NetworkField>) -> Vec<TokenStream> {
syn::parse_str(&field.from_map.as_ref().unwrap()).unwrap();
quote! {
- #field_name: match input.get(#field_rename).unwrap() {
+ #field_name: match input.get_mut(#field_rename).unwrap() {
crate::primitive::Variant::VariantList(input) => match &input.remove(0) {
crate::primitive::Variant::#field_type(input) => input.iter().map(#field_map).collect(),
_ => unimplemented!()
@@ -66,7 +66,7 @@ pub(crate) fn map_list(fields: &Vec<NetworkField>) -> Vec<TokenStream> {
}
} else {
quote! {
- #field_name: match input.get(#field_rename).unwrap() {
+ #field_name: match input.get_mut(#field_rename).unwrap() {
crate::primitive::Variant::VariantList(input) => match &input.remove(0) {
crate::primitive::Variant::#field_type(input) => input.clone(),
_ => unimplemented!()