From a79b404c9dc08aed6dbe7bf07c20647666e9f65d Mon Sep 17 00:00:00 2001 From: Emilio Cobos Álvarez Date: Mon, 22 Jan 2018 10:11:21 +0100 Subject: codegen: Try to reasonably handle enum : bool. Just use the repr name we generate, since we generate constants for that. It's not worth trying to guess the actual type to use IMO. Bindings lose a bit of portability I guess, but that's really a lost bet already, so instead of special-casing bool and map constants, let's use a consistent representation everywhere. Fixes #1145 --- src/codegen/mod.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/codegen/mod.rs') diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 5641b84d..43a2ec09 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -2486,13 +2486,10 @@ impl CodeGenerator for Enum { }); } - let repr = - self.repr() - .and_then(|repr| repr.try_to_rust_ty_or_opaque(ctx, &()).ok()) - .unwrap_or_else(|| { - let repr_name = ctx.rust_ident_raw(repr_name); - quote! { #repr_name } - }); + let repr = { + let repr_name = ctx.rust_ident_raw(repr_name); + quote! { #repr_name } + }; let mut builder = EnumBuilder::new( &name, -- cgit v1.2.3