From bef180d353ca5b3cbc11e70588874af6a5e59b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 24 Aug 2020 19:48:26 +0200 Subject: [PATCH] codegen: Do generate unnamed enums, as they can be referred to by members. Fixes #1880 --- src/codegen/mod.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 60e0e5929f..1ad413ffe2 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -2478,7 +2478,6 @@ impl<'a> EnumBuilder<'a> { 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 @@ impl<'a> EnumBuilder<'a> { 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 @@ impl CodeGenerator for Enum { repr, variation, item.codegen_depth(ctx), - enum_ty.name().is_some(), ); // A map where we keep a value -> variant relation.