Prepare for PartialEq derives on structs
diff --git a/macro/src/derive.rs b/macro/src/derive.rs
index 22c05cc..d896afb 100644
--- a/macro/src/derive.rs
+++ b/macro/src/derive.rs
@@ -2,7 +2,7 @@
use proc_macro2::{Ident, Span, TokenStream};
use quote::{quote, quote_spanned, ToTokens};
-pub fn expand_struct(strct: &Struct) -> TokenStream {
+pub fn expand_struct(strct: &Struct, actual_derives: &mut Option<TokenStream>) -> TokenStream {
let mut expanded = TokenStream::new();
for derive in &strct.derives {
@@ -14,6 +14,8 @@
}
}
+ *actual_derives = None;
+
expanded
}
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index cc55101..62ab95f 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -134,10 +134,12 @@
let vis = Token);
quote!(#vis #field)
});
- let derived_traits = derive::expand_struct(strct);
+ let mut derives = None;
+ let derived_traits = derive::expand_struct(strct, &mut derives);
quote! {
#doc
+ #derives
#[repr(C)]
pub struct #ident {
#(#fields,)*