diff options
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r-- | src/codegen/mod.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 1801520a..1a948c05 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -2461,12 +2461,14 @@ impl CodeGenerator for Enum { } }; + // ModuleConsts has higher precedence before Rust in order to avoid problems with + // overlapping match patterns let variation = if self.is_bitfield(ctx, item) { EnumVariation::Bitfield - } else if self.is_rustified_enum(ctx, item) { - EnumVariation::Rust } else if self.is_constified_enum_module(ctx, item) { EnumVariation::ModuleConsts + } else if self.is_rustified_enum(ctx, item) { + EnumVariation::Rust } else { // We generate consts by default EnumVariation::Consts |