diff options
Diffstat (limited to 'derive/src/network/mod.rs')
| -rw-r--r-- | derive/src/network/mod.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/derive/src/network/mod.rs b/derive/src/network/mod.rs index 7932a12..2d4c89d 100644 --- a/derive/src/network/mod.rs +++ b/derive/src/network/mod.rs @@ -91,7 +91,7 @@ pub fn network_map(input: proc_macro::TokenStream) -> proc_macro::TokenStream { .zip(quassel_fields) .for_each(|(field, qfield)| { if field.rename.is_none() { - field.rename = Some(qfield.name) + field.rename = qfield.name } }); @@ -169,7 +169,17 @@ pub fn network_list(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let _network = Network::from_derive_input(&input).unwrap(); - let fields = parse_fields(&input); + let mut fields = parse_fields(&input); + let quassel_fields = super::QuasselField::parse(&input); + + fields + .iter_mut() + .zip(quassel_fields) + .for_each(|(field, qfield)| { + if field.rename.is_none() { + field.rename = qfield.name + } + }); let name = &input.ident; |
