aboutsummaryrefslogtreecommitdiff
path: root/derive/src/network/mod.rs
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2022-10-04 09:21:39 +0200
committerMax Audron <audron@cocaine.farm>2022-10-04 09:21:39 +0200
commitd42725060d1de96fddf90ecd3ea47f06fd91aa7a (patch)
tree262e0b384ec054cf7ccfb78d74b61507b5984b4f /derive/src/network/mod.rs
parentadd session manager struct with default impls to handle sync and init (diff)
fix derive macros
Diffstat (limited to 'derive/src/network/mod.rs')
-rw-r--r--derive/src/network/mod.rs14
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;