summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-10-11 11:18:23 -0400
committerGitHub <noreply@github.com>2018-10-11 11:18:23 -0400
commitc137196c9f4411456284e2205db314a4ae700f9f (patch)
tree41b61890c3c11da7f0fb015114d911080c98a144 /src/codegen/mod.rs
parent988a9537800a23c045e045f19e02a1674d6a14ef (diff)
parentb8cd8a161c317f300c5d56b3f0c10d8d1554efb2 (diff)
Auto merge of #1419 - emilio:constified-enum-default, r=emilio
ir: Ensure everything agrees in which kind of variation an enum generates. Fixes #1418.
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index dc8271f9..f29a3bc0 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2566,22 +2566,10 @@ impl CodeGenerator for Enum {
}
};
- // ModuleConsts has higher precedence before Rust in order to avoid problems with
- // overlapping match patterns
- let variation = if self.is_constified_enum_module(ctx, item) {
- EnumVariation::ModuleConsts
- } else if self.is_bitfield(ctx, item) {
- EnumVariation::Bitfield
- } else if self.is_rustified_enum(ctx, item) {
- EnumVariation::Rust
- } else if self.is_constified_enum(ctx, item) {
- EnumVariation::Consts
- } else {
- ctx.options().default_enum_style
- };
-
let mut attrs = vec![];
+ let variation = self.computed_enum_variation(ctx, item);
+
// TODO(emilio): Delegate this to the builders?
if variation.is_rust() {
attrs.push(attributes::repr(repr_name));