diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 5641b84..43a2ec0 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2486,13 +2486,10 @@
             });
         }
 
-        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,
diff --git a/tests/expectations/tests/bitfield-enum-basic.rs b/tests/expectations/tests/bitfield-enum-basic.rs
index 84362d1..091dc70 100644
--- a/tests/expectations/tests/bitfield-enum-basic.rs
+++ b/tests/expectations/tests/bitfield-enum-basic.rs
@@ -1,9 +1,7 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub const Foo_Bar: Foo = Foo(2);
 pub const Foo_Baz: Foo = Foo(4);
 pub const Foo_Duplicated: Foo = Foo(4);
@@ -36,7 +34,7 @@
 }
 #[repr(C)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub struct Foo(pub ::std::os::raw::c_int);
+pub struct Foo(pub i32);
 pub const Buz_Bar: Buz = Buz(2);
 pub const Buz_Baz: Buz = Buz(4);
 pub const Buz_Duplicated: Buz = Buz(4);
@@ -69,7 +67,7 @@
 }
 #[repr(C)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub struct Buz(pub ::std::os::raw::c_schar);
+pub struct Buz(pub i8);
 pub const NS_FOO: _bindgen_ty_1 = _bindgen_ty_1(1);
 pub const NS_BAR: _bindgen_ty_1 = _bindgen_ty_1(2);
 impl ::std::ops::BitOr<_bindgen_ty_1> for _bindgen_ty_1 {
@@ -100,7 +98,7 @@
 }
 #[repr(C)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub struct _bindgen_ty_1(pub ::std::os::raw::c_uint);
+pub struct _bindgen_ty_1(pub u32);
 #[repr(C)]
 #[derive(Debug, Default, Copy, Clone)]
 pub struct Dummy {
@@ -136,7 +134,7 @@
 }
 #[repr(C)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub struct Dummy__bindgen_ty_1(pub ::std::os::raw::c_uint);
+pub struct Dummy__bindgen_ty_1(pub u32);
 #[test]
 fn bindgen_test_layout_Dummy() {
     assert_eq!(
diff --git a/tests/expectations/tests/constify-all-enums.rs b/tests/expectations/tests/constify-all-enums.rs
index 1d518b5..b2e1e97 100644
--- a/tests/expectations/tests/constify-all-enums.rs
+++ b/tests/expectations/tests/constify-all-enums.rs
@@ -1,13 +1,11 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub const foo_THIS: foo = 0;
 pub const foo_SHOULD_BE: foo = 1;
 pub const foo_A_CONSTANT: foo = 2;
-pub type foo = ::std::os::raw::c_uint;
+pub type foo = u32;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bar {
diff --git a/tests/expectations/tests/constify-module-enums-basic.rs b/tests/expectations/tests/constify-module-enums-basic.rs
index f8f45f1..342e5ba 100644
--- a/tests/expectations/tests/constify-module-enums-basic.rs
+++ b/tests/expectations/tests/constify-module-enums-basic.rs
@@ -1,11 +1,9 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub mod foo {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
     pub const THIS: Type = 0;
     pub const SHOULD_BE: Type = 1;
     pub const A_CONSTANT: Type = 2;
diff --git a/tests/expectations/tests/constify-module-enums-namespace.rs b/tests/expectations/tests/constify-module-enums-namespace.rs
index a69044e..7f1c134 100644
--- a/tests/expectations/tests/constify-module-enums-namespace.rs
+++ b/tests/expectations/tests/constify-module-enums-namespace.rs
@@ -1,9 +1,7 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
 pub mod root {
     #[allow(unused_imports)]
@@ -15,7 +13,7 @@
             #[allow(unused_imports)]
             use self::super::super::super::root;
             pub mod foo {
-                pub type Type = ::std::os::raw::c_uint;
+                pub type Type = u32;
                 pub const THIS: Type = 0;
                 pub const SHOULD_BE: Type = 1;
                 pub const A_CONSTANT: Type = 2;
diff --git a/tests/expectations/tests/constify-module-enums-shadow-name.rs b/tests/expectations/tests/constify-module-enums-shadow-name.rs
index b7da1cc..9642871 100644
--- a/tests/expectations/tests/constify-module-enums-shadow-name.rs
+++ b/tests/expectations/tests/constify-module-enums-shadow-name.rs
@@ -1,11 +1,9 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub mod foo {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
     pub const Type: Type = 0;
     pub const Type_: Type = 1;
     pub const Type1: Type = 2;
diff --git a/tests/expectations/tests/constify-module-enums-simple-alias.rs b/tests/expectations/tests/constify-module-enums-simple-alias.rs
index 89b3ead..70c881b 100644
--- a/tests/expectations/tests/constify-module-enums-simple-alias.rs
+++ b/tests/expectations/tests/constify-module-enums-simple-alias.rs
@@ -1,11 +1,9 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub mod Foo {
-    pub type Type = ::std::os::raw::c_int;
+    pub type Type = i32;
     pub const Variant1: Type = 0;
     pub const Variant2: Type = 1;
     pub const Variant3: Type = 2;
diff --git a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
index b85edba..ee15b57 100644
--- a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
+++ b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
@@ -1,11 +1,9 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub mod one_Foo {
-    pub type Type = ::std::os::raw::c_int;
+    pub type Type = i32;
     pub const Variant1: Type = 0;
     pub const Variant2: Type = 1;
 }
diff --git a/tests/expectations/tests/constify-module-enums-types.rs b/tests/expectations/tests/constify-module-enums-types.rs
index 8849cc3..155839b 100644
--- a/tests/expectations/tests/constify-module-enums-types.rs
+++ b/tests/expectations/tests/constify-module-enums-types.rs
@@ -1,11 +1,9 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub mod foo {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
     pub const THIS: Type = 0;
     pub const SHOULD_BE: Type = 1;
     pub const A_CONSTANT: Type = 2;
@@ -13,20 +11,20 @@
     pub const AND_ALSO_THIS: Type = 42;
 }
 pub mod anon_enum {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
     pub const Variant1: Type = 0;
     pub const Variant2: Type = 1;
     pub const Variant3: Type = 2;
 }
 pub mod ns1_foo {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
     pub const THIS: Type = 0;
     pub const SHOULD_BE: Type = 1;
     pub const A_CONSTANT: Type = 2;
     pub const ALSO_THIS: Type = 42;
 }
 pub mod ns2_Foo {
-    pub type Type = ::std::os::raw::c_int;
+    pub type Type = i32;
     pub const Variant1: Type = 0;
     pub const Variant2: Type = 1;
 }
@@ -202,7 +200,7 @@
     }
 }
 pub mod one_Foo {
-    pub type Type = ::std::os::raw::c_int;
+    pub type Type = i32;
     pub const Variant1: Type = 0;
     pub const Variant2: Type = 1;
 }
diff --git a/tests/expectations/tests/empty-enum.rs b/tests/expectations/tests/empty-enum.rs
index 99ffc27..473a508 100644
--- a/tests/expectations/tests/empty-enum.rs
+++ b/tests/expectations/tests/empty-enum.rs
@@ -2,30 +2,30 @@
 
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-pub type EmptyConstified = ::std::os::raw::c_uint;
+pub type EmptyConstified = u32;
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
 pub enum EmptyRustified {
     __bindgen_cannot_repr_c_on_empty_enum = 0,
 }
 pub mod EmptyModule {
-    pub type Type = ::std::os::raw::c_uint;
+    pub type Type = u32;
 }
 #[repr(i8)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
 pub enum EmptyClassRustified {
     __bindgen_cannot_repr_c_on_empty_enum = 0,
 }
-pub type EmptyClassConstified = ::std::os::raw::c_char;
+pub type EmptyClassConstified = i8;
 pub mod EmptyClassModule {
-    pub type Type = ::std::os::raw::c_char;
+    pub type Type = i8;
 }
 #[repr(i8)]
 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
 pub enum ForwardClassRustified {
     __bindgen_cannot_repr_c_on_empty_enum = 0,
 }
-pub type ForwardClassConstified = ::std::os::raw::c_char;
+pub type ForwardClassConstified = i8;
 pub mod ForwardClassModule {
-    pub type Type = ::std::os::raw::c_char;
+    pub type Type = i8;
 }
diff --git a/tests/expectations/tests/enum_explicit_type.rs b/tests/expectations/tests/enum_explicit_type.rs
index 17f135b..a5ec4a5 100644
--- a/tests/expectations/tests/enum_explicit_type.rs
+++ b/tests/expectations/tests/enum_explicit_type.rs
@@ -35,3 +35,8 @@
 pub enum MuchULongLong {
     MuchHigh = 4294967296,
 }
+#[repr(u8)]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub enum BoolEnumsAreFun {
+    Value = 1,
+}
diff --git a/tests/expectations/tests/enum_explicit_type_constants.rs b/tests/expectations/tests/enum_explicit_type_constants.rs
new file mode 100644
index 0000000..cd1a922
--- /dev/null
+++ b/tests/expectations/tests/enum_explicit_type_constants.rs
@@ -0,0 +1,21 @@
+/* automatically generated by rust-bindgen */
+
+#![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
+
+pub const Foo_Bar: Foo = 0;
+pub const Foo_Qux: Foo = 1;
+pub type Foo = u8;
+pub const Neg_MinusOne: Neg = -1;
+pub const Neg_One: Neg = 1;
+pub type Neg = i8;
+pub const Bigger_Much: Bigger = 255;
+pub const Bigger_Larger: Bigger = 256;
+pub type Bigger = u16;
+pub const MuchLong_MuchLow: MuchLong = -4294967296;
+pub type MuchLong = i64;
+pub const MuchLongLong_I64_MIN: MuchLongLong = -9223372036854775808;
+pub type MuchLongLong = i64;
+pub const MuchULongLong_MuchHigh: MuchULongLong = 4294967296;
+pub type MuchULongLong = u64;
+pub const BoolEnumsAreFun_Value: BoolEnumsAreFun = 1;
+pub type BoolEnumsAreFun = u8;
diff --git a/tests/expectations/tests/prepend_enum_name.rs b/tests/expectations/tests/prepend_enum_name.rs
index c409e54..96c7b61 100644
--- a/tests/expectations/tests/prepend_enum_name.rs
+++ b/tests/expectations/tests/prepend_enum_name.rs
@@ -1,9 +1,7 @@
 /* automatically generated by rust-bindgen */
 
-
 #![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
 
-
 pub const FOO_BAR: foo = 0;
 pub const FOO_BAZ: foo = 1;
-pub type foo = ::std::os::raw::c_uint;
+pub type foo = u32;
diff --git a/tests/headers/enum_explicit_type.hpp b/tests/headers/enum_explicit_type.hpp
index e611de7..3cb9313 100644
--- a/tests/headers/enum_explicit_type.hpp
+++ b/tests/headers/enum_explicit_type.hpp
@@ -26,3 +26,7 @@
 enum MuchULongLong: unsigned long long {
     MuchHigh = 4294967296,
 };
+
+enum BoolEnumsAreFun: bool {
+    Value = true,
+};
diff --git a/tests/headers/enum_explicit_type_constants.hpp b/tests/headers/enum_explicit_type_constants.hpp
new file mode 100644
index 0000000..7deab36
--- /dev/null
+++ b/tests/headers/enum_explicit_type_constants.hpp
@@ -0,0 +1,5 @@
+// bindgen-flags: -- -std=c++11
+//
+// This test is much like enum_explicit_type, but without --rustified-enum.
+
+#include "enum_explicit_type.hpp"
