codegen: Do generate unnamed enums, as they can be referred to by members.
Fixes #1880
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 60e0e59..1ad413f 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2478,7 +2478,6 @@
repr: proc_macro2::TokenStream,
enum_variation: EnumVariation,
enum_codegen_depth: usize,
- is_ty_named: bool,
) -> Self {
let ident = Ident::new(name, Span::call_site());
@@ -2507,12 +2506,10 @@
EnumVariation::Consts => {
let mut variants = Vec::new();
- if is_ty_named {
- variants.push(quote! {
- #( #attrs )*
- pub type #ident = #repr;
- });
- }
+ variants.push(quote! {
+ #( #attrs )*
+ pub type #ident = #repr;
+ });
EnumBuilder::Consts {
repr,
@@ -2901,7 +2898,6 @@
repr,
variation,
item.codegen_depth(ctx),
- enum_ty.name().is_some(),
);
// A map where we keep a value -> variant relation.