aboutsummaryrefslogtreecommitdiff
path: root/derive/src/network/map.rs
diff options
context:
space:
mode:
Diffstat (limited to 'derive/src/network/map.rs')
-rw-r--r--derive/src/network/map.rs42
1 files changed, 21 insertions, 21 deletions
diff --git a/derive/src/network/map.rs b/derive/src/network/map.rs
index 0550ccb..4efc3bf 100644
--- a/derive/src/network/map.rs
+++ b/derive/src/network/map.rs
@@ -45,29 +45,29 @@ pub(crate) fn from(fields: &Vec<NetworkField>) -> Vec<TokenStream> {
.map(|field| {
let field_name = field.ident.as_ref().unwrap();
- if field.default {
- quote! {
- #field_name: Default::default(),
- }
+ let unwrap = if field.default {
+ quote! { unwrap_or_default() }
} else {
- let field_rename = match &field.rename {
- Some(name) => name.clone(),
- None => format!("{}", field.ident.as_ref().unwrap()).into(),
- };
+ quote! { unwrap() }
+ };
- match field.network {
- super::NetworkRepr::List => quote! {
- #field_name: libquassel::message::NetworkList::from_network_list(
- &mut std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).unwrap()),
- },
- super::NetworkRepr::Map => quote! {
- #field_name: libquassel::message::NetworkMap::from_network_map(
- &mut std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).unwrap()),
- },
- super::NetworkRepr::None => quote! {
- #field_name: std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).unwrap(),
- },
- }
+ let field_rename = match &field.rename {
+ Some(name) => name.clone(),
+ None => format!("{}", field.ident.as_ref().unwrap()).into(),
+ };
+
+ match field.network {
+ super::NetworkRepr::List => quote! {
+ #field_name: libquassel::message::NetworkList::from_network_list(
+ &mut std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).#unwrap),
+ },
+ super::NetworkRepr::Map => quote! {
+ #field_name: libquassel::message::NetworkMap::from_network_map(
+ &mut std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).#unwrap),
+ },
+ super::NetworkRepr::None => quote! {
+ #field_name: std::convert::TryInto::try_into(input.remove(#field_rename).unwrap()).#unwrap,
+ },
}
})
.collect()