summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 6e80447f..8c113f5a 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2645,18 +2645,15 @@ impl CodeGenerator for Enum {
};
let existing_variant_name = entry.get();
- // Use associated constants for named enums
+ // Use associated constants for named enums.
if enum_ty.name().is_some() &&
- ctx.options().rust_features().associated_const {
- let enum_rust_ty_ = enum_rust_ty.clone();
+ ctx.options().rust_features().associated_const {
let enum_canonical_name = &ident;
- let variant_name = &*mangled_name;
- let constant_name: String = variant_name.into();
- let constant_name = ctx.rust_ident(constant_name);
+ let variant_name = ctx.rust_ident_raw(&*mangled_name);
result.push(quote! {
- impl #enum_rust_ty_ {
- pub const #constant_name : #enum_rust_ty_ =
- #enum_canonical_name :: #existing_variant_name ;
+ impl #enum_rust_ty {
+ pub const #variant_name : #enum_rust_ty =
+ #enum_canonical_name :: #existing_variant_name ;
}
});
} else {