summaryrefslogtreecommitdiff
path: root/engine-macros/src/reflection/enum_impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine-macros/src/reflection/enum_impl.rs')
-rw-r--r--engine-macros/src/reflection/enum_impl.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/engine-macros/src/reflection/enum_impl.rs b/engine-macros/src/reflection/enum_impl.rs
index d124db2..b2e01e8 100644
--- a/engine-macros/src/reflection/enum_impl.rs
+++ b/engine-macros/src/reflection/enum_impl.rs
@@ -197,7 +197,7 @@ pub fn generate(input: syn::ItemEnum) -> proc_macro2::TokenStream
}
};
- let variants = generate_variants(&input, &engine_crate_path);
+ let variants = generate_variants(&input, is_unit_only, &engine_crate_path);
quote! {
#[doc(hidden)]
@@ -241,6 +241,7 @@ pub fn generate(input: syn::ItemEnum) -> proc_macro2::TokenStream
fn generate_variants<'a>(
input: &'a syn::ItemEnum,
+ is_unit_only: bool,
engine_crate_path: &'a syn::Path,
) -> impl Iterator<Item = proc_macro2::TokenStream> + use<'a>
{
@@ -346,7 +347,7 @@ fn generate_variants<'a>(
};
let discriminant = match variant.fields {
- syn::Fields::Unit => {
+ syn::Fields::Unit if is_unit_only => {
quote! {
let mut buf = [0u8; std::mem::size_of::<i128>()];