tests
diff --git a/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs b/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs
index 6ec8539..1bd4eca 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs
@@ -508,7 +508,7 @@
     #[inline]
     pub fn set_m0(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -528,7 +528,7 @@
     #[inline]
     pub unsafe fn set_m0_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -546,7 +546,7 @@
     #[inline]
     pub fn set_m1(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -566,7 +566,7 @@
     #[inline]
     pub unsafe fn set_m1_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -584,7 +584,7 @@
     #[inline]
     pub fn set_m2(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -604,7 +604,7 @@
     #[inline]
     pub unsafe fn set_m2_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -622,7 +622,7 @@
     #[inline]
     pub fn set_m3(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<3usize, 1u8>(val as u64)
         }
     }
@@ -642,7 +642,7 @@
     #[inline]
     pub unsafe fn set_m3_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -660,7 +660,7 @@
     #[inline]
     pub fn set_m4(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<4usize, 1u8>(val as u64)
         }
     }
@@ -680,7 +680,7 @@
     #[inline]
     pub unsafe fn set_m4_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -698,7 +698,7 @@
     #[inline]
     pub fn set_m5(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<5usize, 1u8>(val as u64)
         }
     }
@@ -718,7 +718,7 @@
     #[inline]
     pub unsafe fn set_m5_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -736,7 +736,7 @@
     #[inline]
     pub fn set_m6(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<6usize, 1u8>(val as u64)
         }
     }
@@ -756,7 +756,7 @@
     #[inline]
     pub unsafe fn set_m6_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -774,7 +774,7 @@
     #[inline]
     pub fn set_m7(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<7usize, 1u8>(val as u64)
         }
     }
@@ -794,7 +794,7 @@
     #[inline]
     pub unsafe fn set_m7_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -812,7 +812,7 @@
     #[inline]
     pub fn set_m8(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<8usize, 1u8>(val as u64)
         }
     }
@@ -832,7 +832,7 @@
     #[inline]
     pub unsafe fn set_m8_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -850,7 +850,7 @@
     #[inline]
     pub fn set_m9(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<9usize, 1u8>(val as u64)
         }
     }
@@ -870,7 +870,7 @@
     #[inline]
     pub unsafe fn set_m9_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -888,7 +888,7 @@
     #[inline]
     pub fn set_m10(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<10usize, 1u8>(val as u64)
         }
     }
@@ -908,7 +908,7 @@
     #[inline]
     pub unsafe fn set_m10_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -926,7 +926,7 @@
     #[inline]
     pub fn set_m11(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<11usize, 1u8>(val as u64)
         }
     }
@@ -946,7 +946,7 @@
     #[inline]
     pub unsafe fn set_m11_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -964,7 +964,7 @@
     #[inline]
     pub fn set_m12(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<12usize, 1u8>(val as u64)
         }
     }
@@ -984,7 +984,7 @@
     #[inline]
     pub unsafe fn set_m12_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1002,7 +1002,7 @@
     #[inline]
     pub fn set_m13(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<13usize, 1u8>(val as u64)
         }
     }
@@ -1022,7 +1022,7 @@
     #[inline]
     pub unsafe fn set_m13_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1040,7 +1040,7 @@
     #[inline]
     pub fn set_m14(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<14usize, 1u8>(val as u64)
         }
     }
@@ -1060,7 +1060,7 @@
     #[inline]
     pub unsafe fn set_m14_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1078,7 +1078,7 @@
     #[inline]
     pub fn set_m15(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<15usize, 1u8>(val as u64)
         }
     }
@@ -1098,7 +1098,7 @@
     #[inline]
     pub unsafe fn set_m15_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1116,7 +1116,7 @@
     #[inline]
     pub fn set_m16(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<16usize, 1u8>(val as u64)
         }
     }
@@ -1136,7 +1136,7 @@
     #[inline]
     pub unsafe fn set_m16_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1154,7 +1154,7 @@
     #[inline]
     pub fn set_m17(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<17usize, 1u8>(val as u64)
         }
     }
@@ -1174,7 +1174,7 @@
     #[inline]
     pub unsafe fn set_m17_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1192,7 +1192,7 @@
     #[inline]
     pub fn set_m18(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<18usize, 1u8>(val as u64)
         }
     }
@@ -1212,7 +1212,7 @@
     #[inline]
     pub unsafe fn set_m18_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1230,7 +1230,7 @@
     #[inline]
     pub fn set_m19(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<19usize, 1u8>(val as u64)
         }
     }
@@ -1250,7 +1250,7 @@
     #[inline]
     pub unsafe fn set_m19_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1268,7 +1268,7 @@
     #[inline]
     pub fn set_m20(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<20usize, 1u8>(val as u64)
         }
     }
@@ -1288,7 +1288,7 @@
     #[inline]
     pub unsafe fn set_m20_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1306,7 +1306,7 @@
     #[inline]
     pub fn set_m21(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<21usize, 1u8>(val as u64)
         }
     }
@@ -1326,7 +1326,7 @@
     #[inline]
     pub unsafe fn set_m21_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1344,7 +1344,7 @@
     #[inline]
     pub fn set_m22(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<22usize, 1u8>(val as u64)
         }
     }
@@ -1364,7 +1364,7 @@
     #[inline]
     pub unsafe fn set_m22_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1382,7 +1382,7 @@
     #[inline]
     pub fn set_m23(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<23usize, 1u8>(val as u64)
         }
     }
@@ -1402,7 +1402,7 @@
     #[inline]
     pub unsafe fn set_m23_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1420,7 +1420,7 @@
     #[inline]
     pub fn set_m24(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<24usize, 1u8>(val as u64)
         }
     }
@@ -1440,7 +1440,7 @@
     #[inline]
     pub unsafe fn set_m24_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1458,7 +1458,7 @@
     #[inline]
     pub fn set_m25(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<25usize, 1u8>(val as u64)
         }
     }
@@ -1478,7 +1478,7 @@
     #[inline]
     pub unsafe fn set_m25_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1496,7 +1496,7 @@
     #[inline]
     pub fn set_m26(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<26usize, 1u8>(val as u64)
         }
     }
@@ -1516,7 +1516,7 @@
     #[inline]
     pub unsafe fn set_m26_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1534,7 +1534,7 @@
     #[inline]
     pub fn set_m27(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<27usize, 1u8>(val as u64)
         }
     }
@@ -1554,7 +1554,7 @@
     #[inline]
     pub unsafe fn set_m27_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1572,7 +1572,7 @@
     #[inline]
     pub fn set_m28(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<28usize, 1u8>(val as u64)
         }
     }
@@ -1592,7 +1592,7 @@
     #[inline]
     pub unsafe fn set_m28_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1610,7 +1610,7 @@
     #[inline]
     pub fn set_m29(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<29usize, 1u8>(val as u64)
         }
     }
@@ -1630,7 +1630,7 @@
     #[inline]
     pub unsafe fn set_m29_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1648,7 +1648,7 @@
     #[inline]
     pub fn set_m30(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<30usize, 1u8>(val as u64)
         }
     }
@@ -1668,7 +1668,7 @@
     #[inline]
     pub unsafe fn set_m30_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1686,7 +1686,7 @@
     #[inline]
     pub fn set_m31(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<31usize, 1u8>(val as u64)
         }
     }
@@ -1706,7 +1706,7 @@
     #[inline]
     pub unsafe fn set_m31_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1724,7 +1724,7 @@
     #[inline]
     pub fn set_m32(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<32usize, 1u8>(val as u64)
         }
     }
@@ -1744,7 +1744,7 @@
     #[inline]
     pub unsafe fn set_m32_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 5usize],
             >>::raw_set_const::<
@@ -1795,7 +1795,7 @@
                 0usize,
                 1u8,
             >({
-                let m0: u8 = unsafe { ::std::mem::transmute(m0) };
+                let m0: u8 = m0 as _;
                 m0 as u64
             });
         __bindgen_bitfield_unit
@@ -1803,7 +1803,7 @@
                 1usize,
                 1u8,
             >({
-                let m1: u8 = unsafe { ::std::mem::transmute(m1) };
+                let m1: u8 = m1 as _;
                 m1 as u64
             });
         __bindgen_bitfield_unit
@@ -1811,7 +1811,7 @@
                 2usize,
                 1u8,
             >({
-                let m2: u8 = unsafe { ::std::mem::transmute(m2) };
+                let m2: u8 = m2 as _;
                 m2 as u64
             });
         __bindgen_bitfield_unit
@@ -1819,7 +1819,7 @@
                 3usize,
                 1u8,
             >({
-                let m3: u8 = unsafe { ::std::mem::transmute(m3) };
+                let m3: u8 = m3 as _;
                 m3 as u64
             });
         __bindgen_bitfield_unit
@@ -1827,7 +1827,7 @@
                 4usize,
                 1u8,
             >({
-                let m4: u8 = unsafe { ::std::mem::transmute(m4) };
+                let m4: u8 = m4 as _;
                 m4 as u64
             });
         __bindgen_bitfield_unit
@@ -1835,7 +1835,7 @@
                 5usize,
                 1u8,
             >({
-                let m5: u8 = unsafe { ::std::mem::transmute(m5) };
+                let m5: u8 = m5 as _;
                 m5 as u64
             });
         __bindgen_bitfield_unit
@@ -1843,7 +1843,7 @@
                 6usize,
                 1u8,
             >({
-                let m6: u8 = unsafe { ::std::mem::transmute(m6) };
+                let m6: u8 = m6 as _;
                 m6 as u64
             });
         __bindgen_bitfield_unit
@@ -1851,7 +1851,7 @@
                 7usize,
                 1u8,
             >({
-                let m7: u8 = unsafe { ::std::mem::transmute(m7) };
+                let m7: u8 = m7 as _;
                 m7 as u64
             });
         __bindgen_bitfield_unit
@@ -1859,7 +1859,7 @@
                 8usize,
                 1u8,
             >({
-                let m8: u8 = unsafe { ::std::mem::transmute(m8) };
+                let m8: u8 = m8 as _;
                 m8 as u64
             });
         __bindgen_bitfield_unit
@@ -1867,7 +1867,7 @@
                 9usize,
                 1u8,
             >({
-                let m9: u8 = unsafe { ::std::mem::transmute(m9) };
+                let m9: u8 = m9 as _;
                 m9 as u64
             });
         __bindgen_bitfield_unit
@@ -1875,7 +1875,7 @@
                 10usize,
                 1u8,
             >({
-                let m10: u8 = unsafe { ::std::mem::transmute(m10) };
+                let m10: u8 = m10 as _;
                 m10 as u64
             });
         __bindgen_bitfield_unit
@@ -1883,7 +1883,7 @@
                 11usize,
                 1u8,
             >({
-                let m11: u8 = unsafe { ::std::mem::transmute(m11) };
+                let m11: u8 = m11 as _;
                 m11 as u64
             });
         __bindgen_bitfield_unit
@@ -1891,7 +1891,7 @@
                 12usize,
                 1u8,
             >({
-                let m12: u8 = unsafe { ::std::mem::transmute(m12) };
+                let m12: u8 = m12 as _;
                 m12 as u64
             });
         __bindgen_bitfield_unit
@@ -1899,7 +1899,7 @@
                 13usize,
                 1u8,
             >({
-                let m13: u8 = unsafe { ::std::mem::transmute(m13) };
+                let m13: u8 = m13 as _;
                 m13 as u64
             });
         __bindgen_bitfield_unit
@@ -1907,7 +1907,7 @@
                 14usize,
                 1u8,
             >({
-                let m14: u8 = unsafe { ::std::mem::transmute(m14) };
+                let m14: u8 = m14 as _;
                 m14 as u64
             });
         __bindgen_bitfield_unit
@@ -1915,7 +1915,7 @@
                 15usize,
                 1u8,
             >({
-                let m15: u8 = unsafe { ::std::mem::transmute(m15) };
+                let m15: u8 = m15 as _;
                 m15 as u64
             });
         __bindgen_bitfield_unit
@@ -1923,7 +1923,7 @@
                 16usize,
                 1u8,
             >({
-                let m16: u8 = unsafe { ::std::mem::transmute(m16) };
+                let m16: u8 = m16 as _;
                 m16 as u64
             });
         __bindgen_bitfield_unit
@@ -1931,7 +1931,7 @@
                 17usize,
                 1u8,
             >({
-                let m17: u8 = unsafe { ::std::mem::transmute(m17) };
+                let m17: u8 = m17 as _;
                 m17 as u64
             });
         __bindgen_bitfield_unit
@@ -1939,7 +1939,7 @@
                 18usize,
                 1u8,
             >({
-                let m18: u8 = unsafe { ::std::mem::transmute(m18) };
+                let m18: u8 = m18 as _;
                 m18 as u64
             });
         __bindgen_bitfield_unit
@@ -1947,7 +1947,7 @@
                 19usize,
                 1u8,
             >({
-                let m19: u8 = unsafe { ::std::mem::transmute(m19) };
+                let m19: u8 = m19 as _;
                 m19 as u64
             });
         __bindgen_bitfield_unit
@@ -1955,7 +1955,7 @@
                 20usize,
                 1u8,
             >({
-                let m20: u8 = unsafe { ::std::mem::transmute(m20) };
+                let m20: u8 = m20 as _;
                 m20 as u64
             });
         __bindgen_bitfield_unit
@@ -1963,7 +1963,7 @@
                 21usize,
                 1u8,
             >({
-                let m21: u8 = unsafe { ::std::mem::transmute(m21) };
+                let m21: u8 = m21 as _;
                 m21 as u64
             });
         __bindgen_bitfield_unit
@@ -1971,7 +1971,7 @@
                 22usize,
                 1u8,
             >({
-                let m22: u8 = unsafe { ::std::mem::transmute(m22) };
+                let m22: u8 = m22 as _;
                 m22 as u64
             });
         __bindgen_bitfield_unit
@@ -1979,7 +1979,7 @@
                 23usize,
                 1u8,
             >({
-                let m23: u8 = unsafe { ::std::mem::transmute(m23) };
+                let m23: u8 = m23 as _;
                 m23 as u64
             });
         __bindgen_bitfield_unit
@@ -1987,7 +1987,7 @@
                 24usize,
                 1u8,
             >({
-                let m24: u8 = unsafe { ::std::mem::transmute(m24) };
+                let m24: u8 = m24 as _;
                 m24 as u64
             });
         __bindgen_bitfield_unit
@@ -1995,7 +1995,7 @@
                 25usize,
                 1u8,
             >({
-                let m25: u8 = unsafe { ::std::mem::transmute(m25) };
+                let m25: u8 = m25 as _;
                 m25 as u64
             });
         __bindgen_bitfield_unit
@@ -2003,7 +2003,7 @@
                 26usize,
                 1u8,
             >({
-                let m26: u8 = unsafe { ::std::mem::transmute(m26) };
+                let m26: u8 = m26 as _;
                 m26 as u64
             });
         __bindgen_bitfield_unit
@@ -2011,7 +2011,7 @@
                 27usize,
                 1u8,
             >({
-                let m27: u8 = unsafe { ::std::mem::transmute(m27) };
+                let m27: u8 = m27 as _;
                 m27 as u64
             });
         __bindgen_bitfield_unit
@@ -2019,7 +2019,7 @@
                 28usize,
                 1u8,
             >({
-                let m28: u8 = unsafe { ::std::mem::transmute(m28) };
+                let m28: u8 = m28 as _;
                 m28 as u64
             });
         __bindgen_bitfield_unit
@@ -2027,7 +2027,7 @@
                 29usize,
                 1u8,
             >({
-                let m29: u8 = unsafe { ::std::mem::transmute(m29) };
+                let m29: u8 = m29 as _;
                 m29 as u64
             });
         __bindgen_bitfield_unit
@@ -2035,7 +2035,7 @@
                 30usize,
                 1u8,
             >({
-                let m30: u8 = unsafe { ::std::mem::transmute(m30) };
+                let m30: u8 = m30 as _;
                 m30 as u64
             });
         __bindgen_bitfield_unit
@@ -2043,7 +2043,7 @@
                 31usize,
                 1u8,
             >({
-                let m31: u8 = unsafe { ::std::mem::transmute(m31) };
+                let m31: u8 = m31 as _;
                 m31 as u64
             });
         __bindgen_bitfield_unit
@@ -2051,7 +2051,7 @@
                 32usize,
                 1u8,
             >({
-                let m32: u8 = unsafe { ::std::mem::transmute(m32) };
+                let m32: u8 = m32 as _;
                 m32 as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield-large.rs b/bindgen-tests/tests/expectations/tests/bitfield-large.rs
index db4fd63..6abd8ac 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield-large.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-large.rs
@@ -509,7 +509,7 @@
     #[inline]
     pub fn set_x(&mut self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             self._bitfield_1.set_const::<0usize, 128u8>(val as u64)
         }
     }
@@ -529,7 +529,7 @@
     #[inline]
     pub unsafe fn set_x_raw(this: *mut Self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -546,7 +546,7 @@
                 0usize,
                 128u8,
             >({
-                let x: u128 = unsafe { ::std::mem::transmute(x) };
+                let x: u128 = x as _;
                 x as u64
             });
         __bindgen_bitfield_unit
@@ -577,7 +577,7 @@
     #[inline]
     pub fn set_x(&mut self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             self._bitfield_1.set_const::<0usize, 80u8>(val as u64)
         }
     }
@@ -597,7 +597,7 @@
     #[inline]
     pub unsafe fn set_x_raw(this: *mut Self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -615,7 +615,7 @@
     #[inline]
     pub fn set_y(&mut self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             self._bitfield_1.set_const::<80usize, 48u8>(val as u64)
         }
     }
@@ -635,7 +635,7 @@
     #[inline]
     pub unsafe fn set_y_raw(this: *mut Self, val: i128) {
         unsafe {
-            let val: u128 = ::std::mem::transmute(val);
+            let val: u128 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -652,7 +652,7 @@
                 0usize,
                 80u8,
             >({
-                let x: u128 = unsafe { ::std::mem::transmute(x) };
+                let x: u128 = x as _;
                 x as u64
             });
         __bindgen_bitfield_unit
@@ -660,7 +660,7 @@
                 80usize,
                 48u8,
             >({
-                let y: u128 = unsafe { ::std::mem::transmute(y) };
+                let y: u128 = y as _;
                 y as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs b/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs
index 8bac523..e8f91c3 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs
@@ -504,7 +504,7 @@
     #[inline]
     pub fn set_x(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<0usize, 56u8>(val as u64)
         }
     }
@@ -524,7 +524,7 @@
     #[inline]
     pub unsafe fn set_x_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -542,7 +542,7 @@
     #[inline]
     pub fn set_y(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<56usize, 8u8>(val as u64)
         }
     }
@@ -562,7 +562,7 @@
     #[inline]
     pub unsafe fn set_y_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -579,7 +579,7 @@
                 0usize,
                 56u8,
             >({
-                let x: u64 = unsafe { ::std::mem::transmute(x) };
+                let x: u64 = x as _;
                 x as u64
             });
         __bindgen_bitfield_unit
@@ -587,7 +587,7 @@
                 56usize,
                 8u8,
             >({
-                let y: u64 = unsafe { ::std::mem::transmute(y) };
+                let y: u64 = y as _;
                 y as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs b/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs
index 70fc98d..928e626 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs
@@ -520,7 +520,7 @@
     #[inline]
     pub fn set_type__bindgen_bitfield(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -545,7 +545,7 @@
         val: ::std::os::raw::c_char,
     ) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -564,9 +564,7 @@
                 0usize,
                 3u8,
             >({
-                let type__bindgen_bitfield: u8 = unsafe {
-                    ::std::mem::transmute(type__bindgen_bitfield)
-                };
+                let type__bindgen_bitfield: u8 = type__bindgen_bitfield as _;
                 type__bindgen_bitfield as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield-template.rs b/bindgen-tests/tests/expectations/tests/bitfield-template.rs
index 5678344..3ce4d0e 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield-template.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-template.rs
@@ -514,7 +514,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 8u8>(val as u64)
         }
     }
@@ -534,7 +534,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -551,7 +551,7 @@
                 0usize,
                 8u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield_align.rs b/bindgen-tests/tests/expectations/tests/bitfield_align.rs
index c7f50fc..31dbe2d 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield_align.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_align.rs
@@ -513,7 +513,7 @@
     #[inline]
     pub fn set_b1(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -533,7 +533,7 @@
     #[inline]
     pub unsafe fn set_b1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -551,7 +551,7 @@
     #[inline]
     pub fn set_b2(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -571,7 +571,7 @@
     #[inline]
     pub unsafe fn set_b2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -589,7 +589,7 @@
     #[inline]
     pub fn set_b3(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -609,7 +609,7 @@
     #[inline]
     pub unsafe fn set_b3_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -627,7 +627,7 @@
     #[inline]
     pub fn set_b4(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<3usize, 1u8>(val as u64)
         }
     }
@@ -647,7 +647,7 @@
     #[inline]
     pub unsafe fn set_b4_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -665,7 +665,7 @@
     #[inline]
     pub fn set_b5(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 1u8>(val as u64)
         }
     }
@@ -685,7 +685,7 @@
     #[inline]
     pub unsafe fn set_b5_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -703,7 +703,7 @@
     #[inline]
     pub fn set_b6(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<5usize, 1u8>(val as u64)
         }
     }
@@ -723,7 +723,7 @@
     #[inline]
     pub unsafe fn set_b6_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -741,7 +741,7 @@
     #[inline]
     pub fn set_b7(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<6usize, 1u8>(val as u64)
         }
     }
@@ -761,7 +761,7 @@
     #[inline]
     pub unsafe fn set_b7_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -779,7 +779,7 @@
     #[inline]
     pub fn set_b8(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<7usize, 1u8>(val as u64)
         }
     }
@@ -799,7 +799,7 @@
     #[inline]
     pub unsafe fn set_b8_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -817,7 +817,7 @@
     #[inline]
     pub fn set_b9(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<8usize, 1u8>(val as u64)
         }
     }
@@ -837,7 +837,7 @@
     #[inline]
     pub unsafe fn set_b9_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -855,7 +855,7 @@
     #[inline]
     pub fn set_b10(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<9usize, 1u8>(val as u64)
         }
     }
@@ -875,7 +875,7 @@
     #[inline]
     pub unsafe fn set_b10_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -903,7 +903,7 @@
                 0usize,
                 1u8,
             >({
-                let b1: u32 = unsafe { ::std::mem::transmute(b1) };
+                let b1: u32 = b1 as _;
                 b1 as u64
             });
         __bindgen_bitfield_unit
@@ -911,7 +911,7 @@
                 1usize,
                 1u8,
             >({
-                let b2: u32 = unsafe { ::std::mem::transmute(b2) };
+                let b2: u32 = b2 as _;
                 b2 as u64
             });
         __bindgen_bitfield_unit
@@ -919,7 +919,7 @@
                 2usize,
                 1u8,
             >({
-                let b3: u32 = unsafe { ::std::mem::transmute(b3) };
+                let b3: u32 = b3 as _;
                 b3 as u64
             });
         __bindgen_bitfield_unit
@@ -927,7 +927,7 @@
                 3usize,
                 1u8,
             >({
-                let b4: u32 = unsafe { ::std::mem::transmute(b4) };
+                let b4: u32 = b4 as _;
                 b4 as u64
             });
         __bindgen_bitfield_unit
@@ -935,7 +935,7 @@
                 4usize,
                 1u8,
             >({
-                let b5: u32 = unsafe { ::std::mem::transmute(b5) };
+                let b5: u32 = b5 as _;
                 b5 as u64
             });
         __bindgen_bitfield_unit
@@ -943,7 +943,7 @@
                 5usize,
                 1u8,
             >({
-                let b6: u32 = unsafe { ::std::mem::transmute(b6) };
+                let b6: u32 = b6 as _;
                 b6 as u64
             });
         __bindgen_bitfield_unit
@@ -951,7 +951,7 @@
                 6usize,
                 1u8,
             >({
-                let b7: u32 = unsafe { ::std::mem::transmute(b7) };
+                let b7: u32 = b7 as _;
                 b7 as u64
             });
         __bindgen_bitfield_unit
@@ -959,7 +959,7 @@
                 7usize,
                 1u8,
             >({
-                let b8: u32 = unsafe { ::std::mem::transmute(b8) };
+                let b8: u32 = b8 as _;
                 b8 as u64
             });
         __bindgen_bitfield_unit
@@ -967,7 +967,7 @@
                 8usize,
                 1u8,
             >({
-                let b9: u32 = unsafe { ::std::mem::transmute(b9) };
+                let b9: u32 = b9 as _;
                 b9 as u64
             });
         __bindgen_bitfield_unit
@@ -975,7 +975,7 @@
                 9usize,
                 1u8,
             >({
-                let b10: u32 = unsafe { ::std::mem::transmute(b10) };
+                let b10: u32 = b10 as _;
                 b10 as u64
             });
         __bindgen_bitfield_unit
@@ -1002,7 +1002,7 @@
     #[inline]
     pub fn set_foo(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 31u8>(val as u64)
         }
     }
@@ -1022,7 +1022,7 @@
     #[inline]
     pub unsafe fn set_foo_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1040,7 +1040,7 @@
     #[inline]
     pub fn set_bar(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<31usize, 1u8>(val as u64)
         }
     }
@@ -1060,7 +1060,7 @@
     #[inline]
     pub unsafe fn set_bar_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1080,7 +1080,7 @@
                 0usize,
                 31u8,
             >({
-                let foo: u32 = unsafe { ::std::mem::transmute(foo) };
+                let foo: u32 = foo as _;
                 foo as u64
             });
         __bindgen_bitfield_unit
@@ -1088,7 +1088,7 @@
                 31usize,
                 1u8,
             >({
-                let bar: u8 = unsafe { ::std::mem::transmute(bar) };
+                let bar: u8 = bar as _;
                 bar as u64
             });
         __bindgen_bitfield_unit
@@ -1118,7 +1118,7 @@
     #[inline]
     pub fn set_b1(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -1138,7 +1138,7 @@
     #[inline]
     pub unsafe fn set_b1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -1156,7 +1156,7 @@
     #[inline]
     pub fn set_b2(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -1176,7 +1176,7 @@
     #[inline]
     pub unsafe fn set_b2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -1196,7 +1196,7 @@
                 0usize,
                 1u8,
             >({
-                let b1: u32 = unsafe { ::std::mem::transmute(b1) };
+                let b1: u32 = b1 as _;
                 b1 as u64
             });
         __bindgen_bitfield_unit
@@ -1204,7 +1204,7 @@
                 1usize,
                 1u8,
             >({
-                let b2: u32 = unsafe { ::std::mem::transmute(b2) };
+                let b2: u32 = b2 as _;
                 b2 as u64
             });
         __bindgen_bitfield_unit
@@ -1232,7 +1232,7 @@
     #[inline]
     pub fn set_nWeekDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -1252,7 +1252,7 @@
     #[inline]
     pub unsafe fn set_nWeekDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1270,7 +1270,7 @@
     #[inline]
     pub fn set_nMonthDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<3usize, 6u8>(val as u64)
         }
     }
@@ -1290,7 +1290,7 @@
     #[inline]
     pub unsafe fn set_nMonthDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1308,7 +1308,7 @@
     #[inline]
     pub fn set_nMonth(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<9usize, 5u8>(val as u64)
         }
     }
@@ -1328,7 +1328,7 @@
     #[inline]
     pub unsafe fn set_nMonth_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1346,7 +1346,7 @@
     #[inline]
     pub fn set_nYear(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<16usize, 8u8>(val as u64)
         }
     }
@@ -1366,7 +1366,7 @@
     #[inline]
     pub unsafe fn set_nYear_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1388,7 +1388,7 @@
                 0usize,
                 3u8,
             >({
-                let nWeekDay: u16 = unsafe { ::std::mem::transmute(nWeekDay) };
+                let nWeekDay: u16 = nWeekDay as _;
                 nWeekDay as u64
             });
         __bindgen_bitfield_unit
@@ -1396,7 +1396,7 @@
                 3usize,
                 6u8,
             >({
-                let nMonthDay: u16 = unsafe { ::std::mem::transmute(nMonthDay) };
+                let nMonthDay: u16 = nMonthDay as _;
                 nMonthDay as u64
             });
         __bindgen_bitfield_unit
@@ -1404,7 +1404,7 @@
                 9usize,
                 5u8,
             >({
-                let nMonth: u16 = unsafe { ::std::mem::transmute(nMonth) };
+                let nMonth: u16 = nMonth as _;
                 nMonth as u64
             });
         __bindgen_bitfield_unit
@@ -1412,7 +1412,7 @@
                 16usize,
                 8u8,
             >({
-                let nYear: u16 = unsafe { ::std::mem::transmute(nYear) };
+                let nYear: u16 = nYear as _;
                 nYear as u64
             });
         __bindgen_bitfield_unit
@@ -1439,7 +1439,7 @@
     #[inline]
     pub fn set_nWeekDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -1459,7 +1459,7 @@
     #[inline]
     pub unsafe fn set_nWeekDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1477,7 +1477,7 @@
     #[inline]
     pub fn set_nMonthDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<3usize, 6u8>(val as u64)
         }
     }
@@ -1497,7 +1497,7 @@
     #[inline]
     pub unsafe fn set_nMonthDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1515,7 +1515,7 @@
     #[inline]
     pub fn set_nMonth(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<9usize, 5u8>(val as u64)
         }
     }
@@ -1535,7 +1535,7 @@
     #[inline]
     pub unsafe fn set_nMonth_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1553,7 +1553,7 @@
     #[inline]
     pub fn set_nYear(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<16usize, 8u8>(val as u64)
         }
     }
@@ -1573,7 +1573,7 @@
     #[inline]
     pub unsafe fn set_nYear_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1591,7 +1591,7 @@
     #[inline]
     pub fn set_byte(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<24usize, 8u8>(val as u64)
         }
     }
@@ -1611,7 +1611,7 @@
     #[inline]
     pub unsafe fn set_byte_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -1634,7 +1634,7 @@
                 0usize,
                 3u8,
             >({
-                let nWeekDay: u16 = unsafe { ::std::mem::transmute(nWeekDay) };
+                let nWeekDay: u16 = nWeekDay as _;
                 nWeekDay as u64
             });
         __bindgen_bitfield_unit
@@ -1642,7 +1642,7 @@
                 3usize,
                 6u8,
             >({
-                let nMonthDay: u16 = unsafe { ::std::mem::transmute(nMonthDay) };
+                let nMonthDay: u16 = nMonthDay as _;
                 nMonthDay as u64
             });
         __bindgen_bitfield_unit
@@ -1650,7 +1650,7 @@
                 9usize,
                 5u8,
             >({
-                let nMonth: u16 = unsafe { ::std::mem::transmute(nMonth) };
+                let nMonth: u16 = nMonth as _;
                 nMonth as u64
             });
         __bindgen_bitfield_unit
@@ -1658,7 +1658,7 @@
                 16usize,
                 8u8,
             >({
-                let nYear: u16 = unsafe { ::std::mem::transmute(nYear) };
+                let nYear: u16 = nYear as _;
                 nYear as u64
             });
         __bindgen_bitfield_unit
@@ -1666,7 +1666,7 @@
                 24usize,
                 8u8,
             >({
-                let byte: u8 = unsafe { ::std::mem::transmute(byte) };
+                let byte: u8 = byte as _;
                 byte as u64
             });
         __bindgen_bitfield_unit
@@ -1695,7 +1695,7 @@
     #[inline]
     pub fn set_nWeekDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -1715,7 +1715,7 @@
     #[inline]
     pub unsafe fn set_nWeekDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1733,7 +1733,7 @@
     #[inline]
     pub fn set_nMonthDay(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<3usize, 6u8>(val as u64)
         }
     }
@@ -1753,7 +1753,7 @@
     #[inline]
     pub unsafe fn set_nMonthDay_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1771,7 +1771,7 @@
     #[inline]
     pub fn set_nMonth(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<9usize, 5u8>(val as u64)
         }
     }
@@ -1791,7 +1791,7 @@
     #[inline]
     pub unsafe fn set_nMonth_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1809,7 +1809,7 @@
     #[inline]
     pub fn set_nYear(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<16usize, 8u8>(val as u64)
         }
     }
@@ -1829,7 +1829,7 @@
     #[inline]
     pub unsafe fn set_nYear_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -1851,7 +1851,7 @@
                 0usize,
                 3u8,
             >({
-                let nWeekDay: u16 = unsafe { ::std::mem::transmute(nWeekDay) };
+                let nWeekDay: u16 = nWeekDay as _;
                 nWeekDay as u64
             });
         __bindgen_bitfield_unit
@@ -1859,7 +1859,7 @@
                 3usize,
                 6u8,
             >({
-                let nMonthDay: u16 = unsafe { ::std::mem::transmute(nMonthDay) };
+                let nMonthDay: u16 = nMonthDay as _;
                 nMonthDay as u64
             });
         __bindgen_bitfield_unit
@@ -1867,7 +1867,7 @@
                 9usize,
                 5u8,
             >({
-                let nMonth: u16 = unsafe { ::std::mem::transmute(nMonth) };
+                let nMonth: u16 = nMonth as _;
                 nMonth as u64
             });
         __bindgen_bitfield_unit
@@ -1875,7 +1875,7 @@
                 16usize,
                 8u8,
             >({
-                let nYear: u16 = unsafe { ::std::mem::transmute(nYear) };
+                let nYear: u16 = nYear as _;
                 nYear as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs b/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs
index 9d5591e..c63b753 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs
@@ -527,7 +527,7 @@
     #[inline]
     pub fn set_tag(&mut self, val: MyEnum) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 2u8>(val as u64)
         }
     }
@@ -547,7 +547,7 @@
     #[inline]
     pub unsafe fn set_tag_raw(this: *mut Self, val: MyEnum) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -565,7 +565,7 @@
     #[inline]
     pub fn set_ptr(&mut self, val: ::std::os::raw::c_long) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<2usize, 62u8>(val as u64)
         }
     }
@@ -585,7 +585,7 @@
     #[inline]
     pub unsafe fn set_ptr_raw(this: *mut Self, val: ::std::os::raw::c_long) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -605,7 +605,7 @@
                 0usize,
                 2u8,
             >({
-                let tag: u32 = unsafe { ::std::mem::transmute(tag) };
+                let tag: u32 = tag as _;
                 tag as u64
             });
         __bindgen_bitfield_unit
@@ -613,7 +613,7 @@
                 2usize,
                 62u8,
             >({
-                let ptr: u64 = unsafe { ::std::mem::transmute(ptr) };
+                let ptr: u64 = ptr as _;
                 ptr as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs b/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs
index a4b2dc0..d915950 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs
@@ -513,7 +513,7 @@
     #[inline]
     pub fn set_pad3(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 24u8>(val as u64)
         }
     }
@@ -533,7 +533,7 @@
     #[inline]
     pub unsafe fn set_pad3_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -551,7 +551,7 @@
     #[inline]
     pub fn set_type(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<24usize, 8u8>(val as u64)
         }
     }
@@ -571,7 +571,7 @@
     #[inline]
     pub unsafe fn set_type_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -591,7 +591,7 @@
                 0usize,
                 24u8,
             >({
-                let pad3: u32 = unsafe { ::std::mem::transmute(pad3) };
+                let pad3: u32 = pad3 as _;
                 pad3 as u64
             });
         __bindgen_bitfield_unit
@@ -599,7 +599,7 @@
                 24usize,
                 8u8,
             >({
-                let type_: u32 = unsafe { ::std::mem::transmute(type_) };
+                let type_: u32 = type_ as _;
                 type_ as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield_pack_offset.rs b/bindgen-tests/tests/expectations/tests/bitfield_pack_offset.rs
index 2b0081a..0a5ac00 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield_pack_offset.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_pack_offset.rs
@@ -526,7 +526,7 @@
     #[inline]
     pub fn set_firmness(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -546,7 +546,7 @@
     #[inline]
     pub unsafe fn set_firmness_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -564,7 +564,7 @@
     #[inline]
     pub fn set_color(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -584,7 +584,7 @@
     #[inline]
     pub unsafe fn set_color_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -602,7 +602,7 @@
     #[inline]
     pub fn set_weedsBonus(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<8usize, 3u8>(val as u64)
         }
     }
@@ -622,7 +622,7 @@
     #[inline]
     pub unsafe fn set_weedsBonus_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -640,7 +640,7 @@
     #[inline]
     pub fn set_pestsBonus(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<11usize, 3u8>(val as u64)
         }
     }
@@ -660,7 +660,7 @@
     #[inline]
     pub unsafe fn set_pestsBonus_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -678,7 +678,7 @@
     #[inline]
     pub fn set_size(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<14usize, 10u8>(val as u64)
         }
     }
@@ -698,7 +698,7 @@
     #[inline]
     pub unsafe fn set_size_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -721,7 +721,7 @@
                 0usize,
                 4u8,
             >({
-                let firmness: u8 = unsafe { ::std::mem::transmute(firmness) };
+                let firmness: u8 = firmness as _;
                 firmness as u64
             });
         __bindgen_bitfield_unit
@@ -729,7 +729,7 @@
                 4usize,
                 4u8,
             >({
-                let color: u8 = unsafe { ::std::mem::transmute(color) };
+                let color: u8 = color as _;
                 color as u64
             });
         __bindgen_bitfield_unit
@@ -737,7 +737,7 @@
                 8usize,
                 3u8,
             >({
-                let weedsBonus: u16 = unsafe { ::std::mem::transmute(weedsBonus) };
+                let weedsBonus: u16 = weedsBonus as _;
                 weedsBonus as u64
             });
         __bindgen_bitfield_unit
@@ -745,7 +745,7 @@
                 11usize,
                 3u8,
             >({
-                let pestsBonus: u16 = unsafe { ::std::mem::transmute(pestsBonus) };
+                let pestsBonus: u16 = pestsBonus as _;
                 pestsBonus as u64
             });
         __bindgen_bitfield_unit
@@ -753,7 +753,7 @@
                 14usize,
                 10u8,
             >({
-                let size: u16 = unsafe { ::std::mem::transmute(size) };
+                let size: u16 = size as _;
                 size as u64
             });
         __bindgen_bitfield_unit
@@ -767,7 +767,7 @@
     #[inline]
     pub fn set_minYield(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -787,7 +787,7 @@
     #[inline]
     pub unsafe fn set_minYield_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -805,7 +805,7 @@
     #[inline]
     pub fn set_waterBonus(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -825,7 +825,7 @@
     #[inline]
     pub unsafe fn set_waterBonus_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -845,7 +845,7 @@
                 0usize,
                 4u8,
             >({
-                let minYield: u8 = unsafe { ::std::mem::transmute(minYield) };
+                let minYield: u8 = minYield as _;
                 minYield as u64
             });
         __bindgen_bitfield_unit
@@ -853,7 +853,7 @@
                 4usize,
                 4u8,
             >({
-                let waterBonus: u8 = unsafe { ::std::mem::transmute(waterBonus) };
+                let waterBonus: u8 = waterBonus as _;
                 waterBonus as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs b/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs
index fd16e0d..882e1a6 100644
--- a/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs
@@ -508,7 +508,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -528,7 +528,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -546,7 +546,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -566,7 +566,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -584,7 +584,7 @@
     #[inline]
     pub fn set_c(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 6u8>(val as u64)
         }
     }
@@ -604,7 +604,7 @@
     #[inline]
     pub unsafe fn set_c_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -622,7 +622,7 @@
     #[inline]
     pub fn set_d(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<8usize, 16u8>(val as u64)
         }
     }
@@ -642,7 +642,7 @@
     #[inline]
     pub unsafe fn set_d_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -660,7 +660,7 @@
     #[inline]
     pub fn set_e(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<24usize, 8u8>(val as u64)
         }
     }
@@ -680,7 +680,7 @@
     #[inline]
     pub unsafe fn set_e_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -703,7 +703,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -711,7 +711,7 @@
                 1usize,
                 1u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
@@ -719,7 +719,7 @@
                 2usize,
                 6u8,
             >({
-                let c: u8 = unsafe { ::std::mem::transmute(c) };
+                let c: u8 = c as _;
                 c as u64
             });
         __bindgen_bitfield_unit
@@ -727,7 +727,7 @@
                 8usize,
                 16u8,
             >({
-                let d: u16 = unsafe { ::std::mem::transmute(d) };
+                let d: u16 = d as _;
                 d as u64
             });
         __bindgen_bitfield_unit
@@ -735,7 +735,7 @@
                 24usize,
                 8u8,
             >({
-                let e: u8 = unsafe { ::std::mem::transmute(e) };
+                let e: u8 = e as _;
                 e as u64
             });
         __bindgen_bitfield_unit
@@ -762,7 +762,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 16u8>(val as u64)
         }
     }
@@ -782,7 +782,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -800,7 +800,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<16usize, 16u8>(val as u64)
         }
     }
@@ -820,7 +820,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -840,7 +840,7 @@
                 0usize,
                 16u8,
             >({
-                let a: u16 = unsafe { ::std::mem::transmute(a) };
+                let a: u16 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -848,7 +848,7 @@
                 16usize,
                 16u8,
             >({
-                let b: u16 = unsafe { ::std::mem::transmute(b) };
+                let b: u16 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/blocklist_bitfield_unit.rs b/bindgen-tests/tests/expectations/tests/blocklist_bitfield_unit.rs
index 91d34b9..0beeca9 100644
--- a/bindgen-tests/tests/expectations/tests/blocklist_bitfield_unit.rs
+++ b/bindgen-tests/tests/expectations/tests/blocklist_bitfield_unit.rs
@@ -26,7 +26,7 @@
     #[inline]
     pub fn set_b1(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -46,7 +46,7 @@
     #[inline]
     pub unsafe fn set_b1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -64,7 +64,7 @@
     #[inline]
     pub fn set_b2(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -84,7 +84,7 @@
     #[inline]
     pub unsafe fn set_b2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -104,7 +104,7 @@
                 0usize,
                 1u8,
             >({
-                let b1: u32 = unsafe { ::std::mem::transmute(b1) };
+                let b1: u32 = b1 as _;
                 b1 as u64
             });
         __bindgen_bitfield_unit
@@ -112,7 +112,7 @@
                 1usize,
                 1u8,
             >({
-                let b2: u32 = unsafe { ::std::mem::transmute(b2) };
+                let b2: u32 = b2 as _;
                 b2 as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/default_visibility_crate.rs b/bindgen-tests/tests/expectations/tests/default_visibility_crate.rs
index 4525a07..5672250 100644
--- a/bindgen-tests/tests/expectations/tests/default_visibility_crate.rs
+++ b/bindgen-tests/tests/expectations/tests/default_visibility_crate.rs
@@ -509,7 +509,7 @@
     #[inline]
     pub(crate) fn set_r(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -529,7 +529,7 @@
     #[inline]
     pub(crate) unsafe fn set_r_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -547,7 +547,7 @@
     #[inline]
     pub(crate) fn set_g(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -567,7 +567,7 @@
     #[inline]
     pub(crate) unsafe fn set_g_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -585,7 +585,7 @@
     #[inline]
     pub(crate) fn set_b(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -605,7 +605,7 @@
     #[inline]
     pub(crate) unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -626,7 +626,7 @@
                 0usize,
                 1u8,
             >({
-                let r: u8 = unsafe { ::std::mem::transmute(r) };
+                let r: u8 = r as _;
                 r as u64
             });
         __bindgen_bitfield_unit
@@ -634,7 +634,7 @@
                 1usize,
                 1u8,
             >({
-                let g: u8 = unsafe { ::std::mem::transmute(g) };
+                let g: u8 = g as _;
                 g as u64
             });
         __bindgen_bitfield_unit
@@ -642,7 +642,7 @@
                 2usize,
                 1u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/default_visibility_private.rs b/bindgen-tests/tests/expectations/tests/default_visibility_private.rs
index 646eadf..1b9f9a1 100644
--- a/bindgen-tests/tests/expectations/tests/default_visibility_private.rs
+++ b/bindgen-tests/tests/expectations/tests/default_visibility_private.rs
@@ -509,7 +509,7 @@
     #[inline]
     fn set_r(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -529,7 +529,7 @@
     #[inline]
     unsafe fn set_r_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -547,7 +547,7 @@
     #[inline]
     fn set_g(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -567,7 +567,7 @@
     #[inline]
     unsafe fn set_g_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -585,7 +585,7 @@
     #[inline]
     fn set_b(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -605,7 +605,7 @@
     #[inline]
     unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -626,7 +626,7 @@
                 0usize,
                 1u8,
             >({
-                let r: u8 = unsafe { ::std::mem::transmute(r) };
+                let r: u8 = r as _;
                 r as u64
             });
         __bindgen_bitfield_unit
@@ -634,7 +634,7 @@
                 1usize,
                 1u8,
             >({
-                let g: u8 = unsafe { ::std::mem::transmute(g) };
+                let g: u8 = g as _;
                 g as u64
             });
         __bindgen_bitfield_unit
@@ -642,7 +642,7 @@
                 2usize,
                 1u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/default_visibility_private_respects_cxx_access_spec.rs b/bindgen-tests/tests/expectations/tests/default_visibility_private_respects_cxx_access_spec.rs
index ba8ff7d..1789d8f 100644
--- a/bindgen-tests/tests/expectations/tests/default_visibility_private_respects_cxx_access_spec.rs
+++ b/bindgen-tests/tests/expectations/tests/default_visibility_private_respects_cxx_access_spec.rs
@@ -509,7 +509,7 @@
     #[inline]
     pub fn set_r(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -529,7 +529,7 @@
     #[inline]
     pub unsafe fn set_r_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -547,7 +547,7 @@
     #[inline]
     pub fn set_g(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -567,7 +567,7 @@
     #[inline]
     pub unsafe fn set_g_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -585,7 +585,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -605,7 +605,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -626,7 +626,7 @@
                 0usize,
                 1u8,
             >({
-                let r: u8 = unsafe { ::std::mem::transmute(r) };
+                let r: u8 = r as _;
                 r as u64
             });
         __bindgen_bitfield_unit
@@ -634,7 +634,7 @@
                 1usize,
                 1u8,
             >({
-                let g: u8 = unsafe { ::std::mem::transmute(g) };
+                let g: u8 = g as _;
                 g as u64
             });
         __bindgen_bitfield_unit
@@ -642,7 +642,7 @@
                 2usize,
                 1u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs b/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs
index 7b291fa..a0d1825 100644
--- a/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs
@@ -535,7 +535,7 @@
     #[inline]
     pub fn set_type__bindgen_bitfield(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -560,7 +560,7 @@
         val: ::std::os::raw::c_char,
     ) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -579,9 +579,7 @@
                 0usize,
                 3u8,
             >({
-                let type__bindgen_bitfield: u8 = unsafe {
-                    ::std::mem::transmute(type__bindgen_bitfield)
-                };
+                let type__bindgen_bitfield: u8 = type__bindgen_bitfield as _;
                 type__bindgen_bitfield as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-1-51.rs b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-1-51.rs
index 33752b1..78d2b5e 100644
--- a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-1-51.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-1-51.rs
@@ -519,7 +519,7 @@
     #[inline]
     pub fn set_a(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -539,7 +539,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -557,7 +557,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 7u8>(val as u64)
         }
     }
@@ -577,7 +577,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -594,7 +594,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -602,7 +602,7 @@
                 1usize,
                 7u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs
index e21a809..519aaa7 100644
--- a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs
@@ -522,7 +522,7 @@
     #[inline]
     pub fn set_a(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::core::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -542,7 +542,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::core::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -560,7 +560,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::core::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 7u8>(val as u64)
         }
     }
@@ -580,7 +580,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::core::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -597,7 +597,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::core::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -605,7 +605,7 @@
                 1usize,
                 7u8,
             >({
-                let b: u8 = unsafe { ::core::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs
index 33752b1..78d2b5e 100644
--- a/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs
@@ -519,7 +519,7 @@
     #[inline]
     pub fn set_a(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -539,7 +539,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -557,7 +557,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 7u8>(val as u64)
         }
     }
@@ -577,7 +577,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -594,7 +594,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -602,7 +602,7 @@
                 1usize,
                 7u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs
index 47d6808..262b72c 100644
--- a/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs
@@ -519,7 +519,7 @@
     #[inline]
     pub fn set_a(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -539,7 +539,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -557,7 +557,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 7u8>(val as u64)
         }
     }
@@ -577,7 +577,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -594,7 +594,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -602,7 +602,7 @@
                 1usize,
                 7u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/field-visibility-callback.rs b/bindgen-tests/tests/expectations/tests/field-visibility-callback.rs
index 795f6be..e897e5f 100644
--- a/bindgen-tests/tests/expectations/tests/field-visibility-callback.rs
+++ b/bindgen-tests/tests/expectations/tests/field-visibility-callback.rs
@@ -515,7 +515,7 @@
     #[inline]
     pub fn set_c(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -535,7 +535,7 @@
     #[inline]
     pub unsafe fn set_c_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -553,7 +553,7 @@
     #[inline]
     fn set_private_d(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -573,7 +573,7 @@
     #[inline]
     unsafe fn set_private_d_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -593,7 +593,7 @@
                 0usize,
                 1u8,
             >({
-                let c: u32 = unsafe { ::std::mem::transmute(c) };
+                let c: u32 = c as _;
                 c as u64
             });
         __bindgen_bitfield_unit
@@ -601,7 +601,7 @@
                 1usize,
                 1u8,
             >({
-                let private_d: u32 = unsafe { ::std::mem::transmute(private_d) };
+                let private_d: u32 = private_d as _;
                 private_d as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/field-visibility.rs b/bindgen-tests/tests/expectations/tests/field-visibility.rs
index 35645fe..ca29f24 100644
--- a/bindgen-tests/tests/expectations/tests/field-visibility.rs
+++ b/bindgen-tests/tests/expectations/tests/field-visibility.rs
@@ -510,7 +510,7 @@
     #[inline]
     fn set_a(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -530,7 +530,7 @@
     #[inline]
     unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -547,7 +547,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u32 = unsafe { ::std::mem::transmute(a) };
+                let a: u32 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -575,7 +575,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -595,7 +595,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -614,7 +614,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u32 = unsafe { ::std::mem::transmute(a) };
+                let a: u32 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs b/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs
index 7e61272..240c7fe 100644
--- a/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs
@@ -549,7 +549,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -569,7 +569,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_char) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -588,7 +588,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/issue-1947.rs b/bindgen-tests/tests/expectations/tests/issue-1947.rs
index cc37630..7e88368 100644
--- a/bindgen-tests/tests/expectations/tests/issue-1947.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1947.rs
@@ -518,7 +518,7 @@
     #[inline]
     pub fn set_MADZ(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 10u8>(val as u64)
         }
     }
@@ -538,7 +538,7 @@
     #[inline]
     pub unsafe fn set_MADZ_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -556,7 +556,7 @@
     #[inline]
     pub fn set_MAI0(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<10usize, 2u8>(val as u64)
         }
     }
@@ -576,7 +576,7 @@
     #[inline]
     pub unsafe fn set_MAI0_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -594,7 +594,7 @@
     #[inline]
     pub fn set_MAI1(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<12usize, 2u8>(val as u64)
         }
     }
@@ -614,7 +614,7 @@
     #[inline]
     pub unsafe fn set_MAI1_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -632,7 +632,7 @@
     #[inline]
     pub fn set_MAI2(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<14usize, 2u8>(val as u64)
         }
     }
@@ -652,7 +652,7 @@
     #[inline]
     pub unsafe fn set_MAI2_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -674,7 +674,7 @@
                 0usize,
                 10u8,
             >({
-                let MADZ: u16 = unsafe { ::std::mem::transmute(MADZ) };
+                let MADZ: u16 = MADZ as _;
                 MADZ as u64
             });
         __bindgen_bitfield_unit
@@ -682,7 +682,7 @@
                 10usize,
                 2u8,
             >({
-                let MAI0: u16 = unsafe { ::std::mem::transmute(MAI0) };
+                let MAI0: u16 = MAI0 as _;
                 MAI0 as u64
             });
         __bindgen_bitfield_unit
@@ -690,7 +690,7 @@
                 12usize,
                 2u8,
             >({
-                let MAI1: u16 = unsafe { ::std::mem::transmute(MAI1) };
+                let MAI1: u16 = MAI1 as _;
                 MAI1 as u64
             });
         __bindgen_bitfield_unit
@@ -698,7 +698,7 @@
                 14usize,
                 2u8,
             >({
-                let MAI2: u16 = unsafe { ::std::mem::transmute(MAI2) };
+                let MAI2: u16 = MAI2 as _;
                 MAI2 as u64
             });
         __bindgen_bitfield_unit
@@ -712,7 +712,7 @@
     #[inline]
     pub fn set_MATH(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_2.set_const::<0usize, 10u8>(val as u64)
         }
     }
@@ -732,7 +732,7 @@
     #[inline]
     pub unsafe fn set_MATH_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -750,7 +750,7 @@
     #[inline]
     pub fn set_MATE(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_2.set_const::<10usize, 4u8>(val as u64)
         }
     }
@@ -770,7 +770,7 @@
     #[inline]
     pub unsafe fn set_MATE_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -788,7 +788,7 @@
     #[inline]
     pub fn set_MATW(&mut self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_2.set_const::<14usize, 2u8>(val as u64)
         }
     }
@@ -808,7 +808,7 @@
     #[inline]
     pub unsafe fn set_MATW_raw(this: *mut Self, val: U16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -826,7 +826,7 @@
     #[inline]
     pub fn set_MASW(&mut self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<16usize, 4u8>(val as u64)
         }
     }
@@ -846,7 +846,7 @@
     #[inline]
     pub unsafe fn set_MASW_raw(this: *mut Self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -864,7 +864,7 @@
     #[inline]
     pub fn set_MABW(&mut self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<20usize, 3u8>(val as u64)
         }
     }
@@ -884,7 +884,7 @@
     #[inline]
     pub unsafe fn set_MABW_raw(this: *mut Self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -902,7 +902,7 @@
     #[inline]
     pub fn set_MAXN(&mut self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<23usize, 1u8>(val as u64)
         }
     }
@@ -922,7 +922,7 @@
     #[inline]
     pub unsafe fn set_MAXN_raw(this: *mut Self, val: U8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -946,7 +946,7 @@
                 0usize,
                 10u8,
             >({
-                let MATH: u16 = unsafe { ::std::mem::transmute(MATH) };
+                let MATH: u16 = MATH as _;
                 MATH as u64
             });
         __bindgen_bitfield_unit
@@ -954,7 +954,7 @@
                 10usize,
                 4u8,
             >({
-                let MATE: u16 = unsafe { ::std::mem::transmute(MATE) };
+                let MATE: u16 = MATE as _;
                 MATE as u64
             });
         __bindgen_bitfield_unit
@@ -962,7 +962,7 @@
                 14usize,
                 2u8,
             >({
-                let MATW: u16 = unsafe { ::std::mem::transmute(MATW) };
+                let MATW: u16 = MATW as _;
                 MATW as u64
             });
         __bindgen_bitfield_unit
@@ -970,7 +970,7 @@
                 16usize,
                 4u8,
             >({
-                let MASW: u8 = unsafe { ::std::mem::transmute(MASW) };
+                let MASW: u8 = MASW as _;
                 MASW as u64
             });
         __bindgen_bitfield_unit
@@ -978,7 +978,7 @@
                 20usize,
                 3u8,
             >({
-                let MABW: u8 = unsafe { ::std::mem::transmute(MABW) };
+                let MABW: u8 = MABW as _;
                 MABW as u64
             });
         __bindgen_bitfield_unit
@@ -986,7 +986,7 @@
                 23usize,
                 1u8,
             >({
-                let MAXN: u8 = unsafe { ::std::mem::transmute(MAXN) };
+                let MAXN: u8 = MAXN as _;
                 MAXN as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs b/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
index 21d673e..88d884e 100644
--- a/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
@@ -510,7 +510,7 @@
     #[inline]
     pub fn set_m_bitfield(&mut self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<0usize, 64u8>(val as u64)
         }
     }
@@ -530,7 +530,7 @@
     #[inline]
     pub unsafe fn set_m_bitfield_raw(this: *mut Self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 32usize],
             >>::raw_set_const::<
@@ -548,7 +548,7 @@
     #[inline]
     pub fn set_m_bar(&mut self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<64usize, 64u8>(val as u64)
         }
     }
@@ -568,7 +568,7 @@
     #[inline]
     pub unsafe fn set_m_bar_raw(this: *mut Self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 32usize],
             >>::raw_set_const::<
@@ -586,7 +586,7 @@
     #[inline]
     pub fn set_foo(&mut self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<128usize, 1u8>(val as u64)
         }
     }
@@ -606,7 +606,7 @@
     #[inline]
     pub unsafe fn set_foo_raw(this: *mut Self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 32usize],
             >>::raw_set_const::<
@@ -624,7 +624,7 @@
     #[inline]
     pub fn set_bar(&mut self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<192usize, 64u8>(val as u64)
         }
     }
@@ -644,7 +644,7 @@
     #[inline]
     pub unsafe fn set_bar_raw(this: *mut Self, val: ::std::os::raw::c_ulong) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 32usize],
             >>::raw_set_const::<
@@ -666,7 +666,7 @@
                 0usize,
                 64u8,
             >({
-                let m_bitfield: u64 = unsafe { ::std::mem::transmute(m_bitfield) };
+                let m_bitfield: u64 = m_bitfield as _;
                 m_bitfield as u64
             });
         __bindgen_bitfield_unit
@@ -674,7 +674,7 @@
                 64usize,
                 64u8,
             >({
-                let m_bar: u64 = unsafe { ::std::mem::transmute(m_bar) };
+                let m_bar: u64 = m_bar as _;
                 m_bar as u64
             });
         __bindgen_bitfield_unit
@@ -682,7 +682,7 @@
                 128usize,
                 1u8,
             >({
-                let foo: u64 = unsafe { ::std::mem::transmute(foo) };
+                let foo: u64 = foo as _;
                 foo as u64
             });
         __bindgen_bitfield_unit
@@ -690,7 +690,7 @@
                 192usize,
                 64u8,
             >({
-                let bar: u64 = unsafe { ::std::mem::transmute(bar) };
+                let bar: u64 = bar as _;
                 bar as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/issue-743.rs b/bindgen-tests/tests/expectations/tests/issue-743.rs
index aa69c7e..9a6dfdb 100644
--- a/bindgen-tests/tests/expectations/tests/issue-743.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-743.rs
@@ -522,7 +522,7 @@
     #[inline]
     pub fn set_u(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 16u8>(val as u64)
         }
     }
@@ -542,7 +542,7 @@
     #[inline]
     pub unsafe fn set_u_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -561,7 +561,7 @@
                 0usize,
                 16u8,
             >({
-                let u: u32 = unsafe { ::std::mem::transmute(u) };
+                let u: u32 = u as _;
                 u as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/issue-816.rs b/bindgen-tests/tests/expectations/tests/issue-816.rs
index a874606..0856139 100644
--- a/bindgen-tests/tests/expectations/tests/issue-816.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-816.rs
@@ -509,7 +509,7 @@
     #[inline]
     pub fn set_bit_1(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -529,7 +529,7 @@
     #[inline]
     pub unsafe fn set_bit_1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -547,7 +547,7 @@
     #[inline]
     pub fn set_bit_2(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -567,7 +567,7 @@
     #[inline]
     pub unsafe fn set_bit_2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -585,7 +585,7 @@
     #[inline]
     pub fn set_bit_3(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -605,7 +605,7 @@
     #[inline]
     pub unsafe fn set_bit_3_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -623,7 +623,7 @@
     #[inline]
     pub fn set_bit_4(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<3usize, 1u8>(val as u64)
         }
     }
@@ -643,7 +643,7 @@
     #[inline]
     pub unsafe fn set_bit_4_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -661,7 +661,7 @@
     #[inline]
     pub fn set_bit_5(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 1u8>(val as u64)
         }
     }
@@ -681,7 +681,7 @@
     #[inline]
     pub unsafe fn set_bit_5_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -699,7 +699,7 @@
     #[inline]
     pub fn set_bit_6(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<5usize, 1u8>(val as u64)
         }
     }
@@ -719,7 +719,7 @@
     #[inline]
     pub unsafe fn set_bit_6_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -737,7 +737,7 @@
     #[inline]
     pub fn set_bit_7(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<6usize, 1u8>(val as u64)
         }
     }
@@ -757,7 +757,7 @@
     #[inline]
     pub unsafe fn set_bit_7_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -775,7 +775,7 @@
     #[inline]
     pub fn set_bit_8(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<7usize, 1u8>(val as u64)
         }
     }
@@ -795,7 +795,7 @@
     #[inline]
     pub unsafe fn set_bit_8_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -813,7 +813,7 @@
     #[inline]
     pub fn set_bit_9(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<8usize, 1u8>(val as u64)
         }
     }
@@ -833,7 +833,7 @@
     #[inline]
     pub unsafe fn set_bit_9_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -851,7 +851,7 @@
     #[inline]
     pub fn set_bit_10(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<9usize, 1u8>(val as u64)
         }
     }
@@ -871,7 +871,7 @@
     #[inline]
     pub unsafe fn set_bit_10_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -889,7 +889,7 @@
     #[inline]
     pub fn set_bit_11(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<10usize, 1u8>(val as u64)
         }
     }
@@ -909,7 +909,7 @@
     #[inline]
     pub unsafe fn set_bit_11_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -927,7 +927,7 @@
     #[inline]
     pub fn set_bit_12(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<11usize, 1u8>(val as u64)
         }
     }
@@ -947,7 +947,7 @@
     #[inline]
     pub unsafe fn set_bit_12_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -965,7 +965,7 @@
     #[inline]
     pub fn set_bit_13(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<12usize, 1u8>(val as u64)
         }
     }
@@ -985,7 +985,7 @@
     #[inline]
     pub unsafe fn set_bit_13_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1003,7 +1003,7 @@
     #[inline]
     pub fn set_bit_14(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<13usize, 1u8>(val as u64)
         }
     }
@@ -1023,7 +1023,7 @@
     #[inline]
     pub unsafe fn set_bit_14_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1041,7 +1041,7 @@
     #[inline]
     pub fn set_bit_15(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<14usize, 1u8>(val as u64)
         }
     }
@@ -1061,7 +1061,7 @@
     #[inline]
     pub unsafe fn set_bit_15_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1079,7 +1079,7 @@
     #[inline]
     pub fn set_bit_16(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<15usize, 1u8>(val as u64)
         }
     }
@@ -1099,7 +1099,7 @@
     #[inline]
     pub unsafe fn set_bit_16_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1117,7 +1117,7 @@
     #[inline]
     pub fn set_bit_17(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<16usize, 1u8>(val as u64)
         }
     }
@@ -1137,7 +1137,7 @@
     #[inline]
     pub unsafe fn set_bit_17_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1155,7 +1155,7 @@
     #[inline]
     pub fn set_bit_18(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<17usize, 1u8>(val as u64)
         }
     }
@@ -1175,7 +1175,7 @@
     #[inline]
     pub unsafe fn set_bit_18_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1193,7 +1193,7 @@
     #[inline]
     pub fn set_bit_19(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<18usize, 1u8>(val as u64)
         }
     }
@@ -1213,7 +1213,7 @@
     #[inline]
     pub unsafe fn set_bit_19_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1231,7 +1231,7 @@
     #[inline]
     pub fn set_bit_20(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<19usize, 1u8>(val as u64)
         }
     }
@@ -1251,7 +1251,7 @@
     #[inline]
     pub unsafe fn set_bit_20_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1269,7 +1269,7 @@
     #[inline]
     pub fn set_bit_21(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<20usize, 1u8>(val as u64)
         }
     }
@@ -1289,7 +1289,7 @@
     #[inline]
     pub unsafe fn set_bit_21_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1307,7 +1307,7 @@
     #[inline]
     pub fn set_bit_22(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<21usize, 1u8>(val as u64)
         }
     }
@@ -1327,7 +1327,7 @@
     #[inline]
     pub unsafe fn set_bit_22_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1345,7 +1345,7 @@
     #[inline]
     pub fn set_bit_23(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<22usize, 1u8>(val as u64)
         }
     }
@@ -1365,7 +1365,7 @@
     #[inline]
     pub unsafe fn set_bit_23_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1383,7 +1383,7 @@
     #[inline]
     pub fn set_bit_24(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<23usize, 1u8>(val as u64)
         }
     }
@@ -1403,7 +1403,7 @@
     #[inline]
     pub unsafe fn set_bit_24_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1421,7 +1421,7 @@
     #[inline]
     pub fn set_bit_25(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<24usize, 1u8>(val as u64)
         }
     }
@@ -1441,7 +1441,7 @@
     #[inline]
     pub unsafe fn set_bit_25_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1459,7 +1459,7 @@
     #[inline]
     pub fn set_bit_26(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<25usize, 1u8>(val as u64)
         }
     }
@@ -1479,7 +1479,7 @@
     #[inline]
     pub unsafe fn set_bit_26_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1497,7 +1497,7 @@
     #[inline]
     pub fn set_bit_27(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<26usize, 1u8>(val as u64)
         }
     }
@@ -1517,7 +1517,7 @@
     #[inline]
     pub unsafe fn set_bit_27_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1535,7 +1535,7 @@
     #[inline]
     pub fn set_bit_28(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<27usize, 1u8>(val as u64)
         }
     }
@@ -1555,7 +1555,7 @@
     #[inline]
     pub unsafe fn set_bit_28_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1573,7 +1573,7 @@
     #[inline]
     pub fn set_bit_29(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<28usize, 1u8>(val as u64)
         }
     }
@@ -1593,7 +1593,7 @@
     #[inline]
     pub unsafe fn set_bit_29_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1611,7 +1611,7 @@
     #[inline]
     pub fn set_bit_30(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<29usize, 1u8>(val as u64)
         }
     }
@@ -1631,7 +1631,7 @@
     #[inline]
     pub unsafe fn set_bit_30_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1649,7 +1649,7 @@
     #[inline]
     pub fn set_bit_31(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<30usize, 1u8>(val as u64)
         }
     }
@@ -1669,7 +1669,7 @@
     #[inline]
     pub unsafe fn set_bit_31_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1687,7 +1687,7 @@
     #[inline]
     pub fn set_bit_32(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<31usize, 1u8>(val as u64)
         }
     }
@@ -1707,7 +1707,7 @@
     #[inline]
     pub unsafe fn set_bit_32_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1725,7 +1725,7 @@
     #[inline]
     pub fn set_bit_33(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<32usize, 1u8>(val as u64)
         }
     }
@@ -1745,7 +1745,7 @@
     #[inline]
     pub unsafe fn set_bit_33_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1763,7 +1763,7 @@
     #[inline]
     pub fn set_bit_34(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<33usize, 1u8>(val as u64)
         }
     }
@@ -1783,7 +1783,7 @@
     #[inline]
     pub unsafe fn set_bit_34_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1801,7 +1801,7 @@
     #[inline]
     pub fn set_bit_35(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<34usize, 1u8>(val as u64)
         }
     }
@@ -1821,7 +1821,7 @@
     #[inline]
     pub unsafe fn set_bit_35_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1839,7 +1839,7 @@
     #[inline]
     pub fn set_bit_36(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<35usize, 1u8>(val as u64)
         }
     }
@@ -1859,7 +1859,7 @@
     #[inline]
     pub unsafe fn set_bit_36_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1877,7 +1877,7 @@
     #[inline]
     pub fn set_bit_37(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<36usize, 1u8>(val as u64)
         }
     }
@@ -1897,7 +1897,7 @@
     #[inline]
     pub unsafe fn set_bit_37_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1915,7 +1915,7 @@
     #[inline]
     pub fn set_bit_38(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<37usize, 1u8>(val as u64)
         }
     }
@@ -1935,7 +1935,7 @@
     #[inline]
     pub unsafe fn set_bit_38_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1953,7 +1953,7 @@
     #[inline]
     pub fn set_bit_39(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<38usize, 1u8>(val as u64)
         }
     }
@@ -1973,7 +1973,7 @@
     #[inline]
     pub unsafe fn set_bit_39_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -1991,7 +1991,7 @@
     #[inline]
     pub fn set_bit_40(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<39usize, 1u8>(val as u64)
         }
     }
@@ -2011,7 +2011,7 @@
     #[inline]
     pub unsafe fn set_bit_40_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -2029,7 +2029,7 @@
     #[inline]
     pub fn set_bit_41(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<40usize, 1u8>(val as u64)
         }
     }
@@ -2049,7 +2049,7 @@
     #[inline]
     pub unsafe fn set_bit_41_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 16usize],
             >>::raw_set_const::<
@@ -2108,7 +2108,7 @@
                 0usize,
                 1u8,
             >({
-                let bit_1: u32 = unsafe { ::std::mem::transmute(bit_1) };
+                let bit_1: u32 = bit_1 as _;
                 bit_1 as u64
             });
         __bindgen_bitfield_unit
@@ -2116,7 +2116,7 @@
                 1usize,
                 1u8,
             >({
-                let bit_2: u32 = unsafe { ::std::mem::transmute(bit_2) };
+                let bit_2: u32 = bit_2 as _;
                 bit_2 as u64
             });
         __bindgen_bitfield_unit
@@ -2124,7 +2124,7 @@
                 2usize,
                 1u8,
             >({
-                let bit_3: u32 = unsafe { ::std::mem::transmute(bit_3) };
+                let bit_3: u32 = bit_3 as _;
                 bit_3 as u64
             });
         __bindgen_bitfield_unit
@@ -2132,7 +2132,7 @@
                 3usize,
                 1u8,
             >({
-                let bit_4: u32 = unsafe { ::std::mem::transmute(bit_4) };
+                let bit_4: u32 = bit_4 as _;
                 bit_4 as u64
             });
         __bindgen_bitfield_unit
@@ -2140,7 +2140,7 @@
                 4usize,
                 1u8,
             >({
-                let bit_5: u32 = unsafe { ::std::mem::transmute(bit_5) };
+                let bit_5: u32 = bit_5 as _;
                 bit_5 as u64
             });
         __bindgen_bitfield_unit
@@ -2148,7 +2148,7 @@
                 5usize,
                 1u8,
             >({
-                let bit_6: u32 = unsafe { ::std::mem::transmute(bit_6) };
+                let bit_6: u32 = bit_6 as _;
                 bit_6 as u64
             });
         __bindgen_bitfield_unit
@@ -2156,7 +2156,7 @@
                 6usize,
                 1u8,
             >({
-                let bit_7: u32 = unsafe { ::std::mem::transmute(bit_7) };
+                let bit_7: u32 = bit_7 as _;
                 bit_7 as u64
             });
         __bindgen_bitfield_unit
@@ -2164,7 +2164,7 @@
                 7usize,
                 1u8,
             >({
-                let bit_8: u32 = unsafe { ::std::mem::transmute(bit_8) };
+                let bit_8: u32 = bit_8 as _;
                 bit_8 as u64
             });
         __bindgen_bitfield_unit
@@ -2172,7 +2172,7 @@
                 8usize,
                 1u8,
             >({
-                let bit_9: u32 = unsafe { ::std::mem::transmute(bit_9) };
+                let bit_9: u32 = bit_9 as _;
                 bit_9 as u64
             });
         __bindgen_bitfield_unit
@@ -2180,7 +2180,7 @@
                 9usize,
                 1u8,
             >({
-                let bit_10: u32 = unsafe { ::std::mem::transmute(bit_10) };
+                let bit_10: u32 = bit_10 as _;
                 bit_10 as u64
             });
         __bindgen_bitfield_unit
@@ -2188,7 +2188,7 @@
                 10usize,
                 1u8,
             >({
-                let bit_11: u32 = unsafe { ::std::mem::transmute(bit_11) };
+                let bit_11: u32 = bit_11 as _;
                 bit_11 as u64
             });
         __bindgen_bitfield_unit
@@ -2196,7 +2196,7 @@
                 11usize,
                 1u8,
             >({
-                let bit_12: u32 = unsafe { ::std::mem::transmute(bit_12) };
+                let bit_12: u32 = bit_12 as _;
                 bit_12 as u64
             });
         __bindgen_bitfield_unit
@@ -2204,7 +2204,7 @@
                 12usize,
                 1u8,
             >({
-                let bit_13: u32 = unsafe { ::std::mem::transmute(bit_13) };
+                let bit_13: u32 = bit_13 as _;
                 bit_13 as u64
             });
         __bindgen_bitfield_unit
@@ -2212,7 +2212,7 @@
                 13usize,
                 1u8,
             >({
-                let bit_14: u32 = unsafe { ::std::mem::transmute(bit_14) };
+                let bit_14: u32 = bit_14 as _;
                 bit_14 as u64
             });
         __bindgen_bitfield_unit
@@ -2220,7 +2220,7 @@
                 14usize,
                 1u8,
             >({
-                let bit_15: u32 = unsafe { ::std::mem::transmute(bit_15) };
+                let bit_15: u32 = bit_15 as _;
                 bit_15 as u64
             });
         __bindgen_bitfield_unit
@@ -2228,7 +2228,7 @@
                 15usize,
                 1u8,
             >({
-                let bit_16: u32 = unsafe { ::std::mem::transmute(bit_16) };
+                let bit_16: u32 = bit_16 as _;
                 bit_16 as u64
             });
         __bindgen_bitfield_unit
@@ -2236,7 +2236,7 @@
                 16usize,
                 1u8,
             >({
-                let bit_17: u32 = unsafe { ::std::mem::transmute(bit_17) };
+                let bit_17: u32 = bit_17 as _;
                 bit_17 as u64
             });
         __bindgen_bitfield_unit
@@ -2244,7 +2244,7 @@
                 17usize,
                 1u8,
             >({
-                let bit_18: u32 = unsafe { ::std::mem::transmute(bit_18) };
+                let bit_18: u32 = bit_18 as _;
                 bit_18 as u64
             });
         __bindgen_bitfield_unit
@@ -2252,7 +2252,7 @@
                 18usize,
                 1u8,
             >({
-                let bit_19: u32 = unsafe { ::std::mem::transmute(bit_19) };
+                let bit_19: u32 = bit_19 as _;
                 bit_19 as u64
             });
         __bindgen_bitfield_unit
@@ -2260,7 +2260,7 @@
                 19usize,
                 1u8,
             >({
-                let bit_20: u32 = unsafe { ::std::mem::transmute(bit_20) };
+                let bit_20: u32 = bit_20 as _;
                 bit_20 as u64
             });
         __bindgen_bitfield_unit
@@ -2268,7 +2268,7 @@
                 20usize,
                 1u8,
             >({
-                let bit_21: u32 = unsafe { ::std::mem::transmute(bit_21) };
+                let bit_21: u32 = bit_21 as _;
                 bit_21 as u64
             });
         __bindgen_bitfield_unit
@@ -2276,7 +2276,7 @@
                 21usize,
                 1u8,
             >({
-                let bit_22: u32 = unsafe { ::std::mem::transmute(bit_22) };
+                let bit_22: u32 = bit_22 as _;
                 bit_22 as u64
             });
         __bindgen_bitfield_unit
@@ -2284,7 +2284,7 @@
                 22usize,
                 1u8,
             >({
-                let bit_23: u32 = unsafe { ::std::mem::transmute(bit_23) };
+                let bit_23: u32 = bit_23 as _;
                 bit_23 as u64
             });
         __bindgen_bitfield_unit
@@ -2292,7 +2292,7 @@
                 23usize,
                 1u8,
             >({
-                let bit_24: u32 = unsafe { ::std::mem::transmute(bit_24) };
+                let bit_24: u32 = bit_24 as _;
                 bit_24 as u64
             });
         __bindgen_bitfield_unit
@@ -2300,7 +2300,7 @@
                 24usize,
                 1u8,
             >({
-                let bit_25: u32 = unsafe { ::std::mem::transmute(bit_25) };
+                let bit_25: u32 = bit_25 as _;
                 bit_25 as u64
             });
         __bindgen_bitfield_unit
@@ -2308,7 +2308,7 @@
                 25usize,
                 1u8,
             >({
-                let bit_26: u32 = unsafe { ::std::mem::transmute(bit_26) };
+                let bit_26: u32 = bit_26 as _;
                 bit_26 as u64
             });
         __bindgen_bitfield_unit
@@ -2316,7 +2316,7 @@
                 26usize,
                 1u8,
             >({
-                let bit_27: u32 = unsafe { ::std::mem::transmute(bit_27) };
+                let bit_27: u32 = bit_27 as _;
                 bit_27 as u64
             });
         __bindgen_bitfield_unit
@@ -2324,7 +2324,7 @@
                 27usize,
                 1u8,
             >({
-                let bit_28: u32 = unsafe { ::std::mem::transmute(bit_28) };
+                let bit_28: u32 = bit_28 as _;
                 bit_28 as u64
             });
         __bindgen_bitfield_unit
@@ -2332,7 +2332,7 @@
                 28usize,
                 1u8,
             >({
-                let bit_29: u32 = unsafe { ::std::mem::transmute(bit_29) };
+                let bit_29: u32 = bit_29 as _;
                 bit_29 as u64
             });
         __bindgen_bitfield_unit
@@ -2340,7 +2340,7 @@
                 29usize,
                 1u8,
             >({
-                let bit_30: u32 = unsafe { ::std::mem::transmute(bit_30) };
+                let bit_30: u32 = bit_30 as _;
                 bit_30 as u64
             });
         __bindgen_bitfield_unit
@@ -2348,7 +2348,7 @@
                 30usize,
                 1u8,
             >({
-                let bit_31: u32 = unsafe { ::std::mem::transmute(bit_31) };
+                let bit_31: u32 = bit_31 as _;
                 bit_31 as u64
             });
         __bindgen_bitfield_unit
@@ -2356,7 +2356,7 @@
                 31usize,
                 1u8,
             >({
-                let bit_32: u32 = unsafe { ::std::mem::transmute(bit_32) };
+                let bit_32: u32 = bit_32 as _;
                 bit_32 as u64
             });
         __bindgen_bitfield_unit
@@ -2364,7 +2364,7 @@
                 32usize,
                 1u8,
             >({
-                let bit_33: u32 = unsafe { ::std::mem::transmute(bit_33) };
+                let bit_33: u32 = bit_33 as _;
                 bit_33 as u64
             });
         __bindgen_bitfield_unit
@@ -2372,7 +2372,7 @@
                 33usize,
                 1u8,
             >({
-                let bit_34: u32 = unsafe { ::std::mem::transmute(bit_34) };
+                let bit_34: u32 = bit_34 as _;
                 bit_34 as u64
             });
         __bindgen_bitfield_unit
@@ -2380,7 +2380,7 @@
                 34usize,
                 1u8,
             >({
-                let bit_35: u32 = unsafe { ::std::mem::transmute(bit_35) };
+                let bit_35: u32 = bit_35 as _;
                 bit_35 as u64
             });
         __bindgen_bitfield_unit
@@ -2388,7 +2388,7 @@
                 35usize,
                 1u8,
             >({
-                let bit_36: u32 = unsafe { ::std::mem::transmute(bit_36) };
+                let bit_36: u32 = bit_36 as _;
                 bit_36 as u64
             });
         __bindgen_bitfield_unit
@@ -2396,7 +2396,7 @@
                 36usize,
                 1u8,
             >({
-                let bit_37: u32 = unsafe { ::std::mem::transmute(bit_37) };
+                let bit_37: u32 = bit_37 as _;
                 bit_37 as u64
             });
         __bindgen_bitfield_unit
@@ -2404,7 +2404,7 @@
                 37usize,
                 1u8,
             >({
-                let bit_38: u32 = unsafe { ::std::mem::transmute(bit_38) };
+                let bit_38: u32 = bit_38 as _;
                 bit_38 as u64
             });
         __bindgen_bitfield_unit
@@ -2412,7 +2412,7 @@
                 38usize,
                 1u8,
             >({
-                let bit_39: u32 = unsafe { ::std::mem::transmute(bit_39) };
+                let bit_39: u32 = bit_39 as _;
                 bit_39 as u64
             });
         __bindgen_bitfield_unit
@@ -2420,7 +2420,7 @@
                 39usize,
                 1u8,
             >({
-                let bit_40: u32 = unsafe { ::std::mem::transmute(bit_40) };
+                let bit_40: u32 = bit_40 as _;
                 bit_40 as u64
             });
         __bindgen_bitfield_unit
@@ -2428,7 +2428,7 @@
                 40usize,
                 1u8,
             >({
-                let bit_41: u32 = unsafe { ::std::mem::transmute(bit_41) };
+                let bit_41: u32 = bit_41 as _;
                 bit_41 as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs
index 041744a..df7d74e 100644
--- a/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs
@@ -619,7 +619,7 @@
     #[inline]
     pub fn set_payload47(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<0usize, 47u8>(val as u64)
         }
     }
@@ -639,7 +639,7 @@
     #[inline]
     pub unsafe fn set_payload47_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -657,7 +657,7 @@
     #[inline]
     pub fn set_tag(&mut self, val: JSValueTag) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<47usize, 17u8>(val as u64)
         }
     }
@@ -677,7 +677,7 @@
     #[inline]
     pub unsafe fn set_tag_raw(this: *mut Self, val: JSValueTag) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -697,7 +697,7 @@
                 0usize,
                 47u8,
             >({
-                let payload47: u64 = unsafe { ::std::mem::transmute(payload47) };
+                let payload47: u64 = payload47 as _;
                 payload47 as u64
             });
         __bindgen_bitfield_unit
@@ -705,7 +705,7 @@
                 47usize,
                 17u8,
             >({
-                let tag: u32 = unsafe { ::std::mem::transmute(tag) };
+                let tag: u32 = tag as _;
                 tag as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/layout_align.rs b/bindgen-tests/tests/expectations/tests/layout_align.rs
index 6439b78..6c5f654 100644
--- a/bindgen-tests/tests/expectations/tests/layout_align.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_align.rs
@@ -588,7 +588,7 @@
     #[inline]
     pub fn set_link_duplex(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -608,7 +608,7 @@
     #[inline]
     pub unsafe fn set_link_duplex_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -626,7 +626,7 @@
     #[inline]
     pub fn set_link_autoneg(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -646,7 +646,7 @@
     #[inline]
     pub unsafe fn set_link_autoneg_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -664,7 +664,7 @@
     #[inline]
     pub fn set_link_status(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -684,7 +684,7 @@
     #[inline]
     pub unsafe fn set_link_status_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -705,7 +705,7 @@
                 0usize,
                 1u8,
             >({
-                let link_duplex: u16 = unsafe { ::std::mem::transmute(link_duplex) };
+                let link_duplex: u16 = link_duplex as _;
                 link_duplex as u64
             });
         __bindgen_bitfield_unit
@@ -713,7 +713,7 @@
                 1usize,
                 1u8,
             >({
-                let link_autoneg: u16 = unsafe { ::std::mem::transmute(link_autoneg) };
+                let link_autoneg: u16 = link_autoneg as _;
                 link_autoneg as u64
             });
         __bindgen_bitfield_unit
@@ -721,7 +721,7 @@
                 2usize,
                 1u8,
             >({
-                let link_status: u16 = unsafe { ::std::mem::transmute(link_status) };
+                let link_status: u16 = link_status as _;
                 link_status as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs b/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs
index ebc22a6..898079c 100644
--- a/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs
@@ -587,7 +587,7 @@
     #[inline]
     pub fn set_header_split(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -607,7 +607,7 @@
     #[inline]
     pub unsafe fn set_header_split_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -625,7 +625,7 @@
     #[inline]
     pub fn set_hw_ip_checksum(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -645,7 +645,7 @@
     #[inline]
     pub unsafe fn set_hw_ip_checksum_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -663,7 +663,7 @@
     #[inline]
     pub fn set_hw_vlan_filter(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -683,7 +683,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_filter_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -701,7 +701,7 @@
     #[inline]
     pub fn set_hw_vlan_strip(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<3usize, 1u8>(val as u64)
         }
     }
@@ -721,7 +721,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_strip_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -739,7 +739,7 @@
     #[inline]
     pub fn set_hw_vlan_extend(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<4usize, 1u8>(val as u64)
         }
     }
@@ -759,7 +759,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_extend_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -777,7 +777,7 @@
     #[inline]
     pub fn set_jumbo_frame(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<5usize, 1u8>(val as u64)
         }
     }
@@ -797,7 +797,7 @@
     #[inline]
     pub unsafe fn set_jumbo_frame_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -815,7 +815,7 @@
     #[inline]
     pub fn set_hw_strip_crc(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<6usize, 1u8>(val as u64)
         }
     }
@@ -835,7 +835,7 @@
     #[inline]
     pub unsafe fn set_hw_strip_crc_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -853,7 +853,7 @@
     #[inline]
     pub fn set_enable_scatter(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<7usize, 1u8>(val as u64)
         }
     }
@@ -873,7 +873,7 @@
     #[inline]
     pub unsafe fn set_enable_scatter_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -891,7 +891,7 @@
     #[inline]
     pub fn set_enable_lro(&mut self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<8usize, 1u8>(val as u64)
         }
     }
@@ -911,7 +911,7 @@
     #[inline]
     pub unsafe fn set_enable_lro_raw(this: *mut Self, val: u16) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -938,7 +938,7 @@
                 0usize,
                 1u8,
             >({
-                let header_split: u16 = unsafe { ::std::mem::transmute(header_split) };
+                let header_split: u16 = header_split as _;
                 header_split as u64
             });
         __bindgen_bitfield_unit
@@ -946,9 +946,7 @@
                 1usize,
                 1u8,
             >({
-                let hw_ip_checksum: u16 = unsafe {
-                    ::std::mem::transmute(hw_ip_checksum)
-                };
+                let hw_ip_checksum: u16 = hw_ip_checksum as _;
                 hw_ip_checksum as u64
             });
         __bindgen_bitfield_unit
@@ -956,9 +954,7 @@
                 2usize,
                 1u8,
             >({
-                let hw_vlan_filter: u16 = unsafe {
-                    ::std::mem::transmute(hw_vlan_filter)
-                };
+                let hw_vlan_filter: u16 = hw_vlan_filter as _;
                 hw_vlan_filter as u64
             });
         __bindgen_bitfield_unit
@@ -966,7 +962,7 @@
                 3usize,
                 1u8,
             >({
-                let hw_vlan_strip: u16 = unsafe { ::std::mem::transmute(hw_vlan_strip) };
+                let hw_vlan_strip: u16 = hw_vlan_strip as _;
                 hw_vlan_strip as u64
             });
         __bindgen_bitfield_unit
@@ -974,9 +970,7 @@
                 4usize,
                 1u8,
             >({
-                let hw_vlan_extend: u16 = unsafe {
-                    ::std::mem::transmute(hw_vlan_extend)
-                };
+                let hw_vlan_extend: u16 = hw_vlan_extend as _;
                 hw_vlan_extend as u64
             });
         __bindgen_bitfield_unit
@@ -984,7 +978,7 @@
                 5usize,
                 1u8,
             >({
-                let jumbo_frame: u16 = unsafe { ::std::mem::transmute(jumbo_frame) };
+                let jumbo_frame: u16 = jumbo_frame as _;
                 jumbo_frame as u64
             });
         __bindgen_bitfield_unit
@@ -992,7 +986,7 @@
                 6usize,
                 1u8,
             >({
-                let hw_strip_crc: u16 = unsafe { ::std::mem::transmute(hw_strip_crc) };
+                let hw_strip_crc: u16 = hw_strip_crc as _;
                 hw_strip_crc as u64
             });
         __bindgen_bitfield_unit
@@ -1000,9 +994,7 @@
                 7usize,
                 1u8,
             >({
-                let enable_scatter: u16 = unsafe {
-                    ::std::mem::transmute(enable_scatter)
-                };
+                let enable_scatter: u16 = enable_scatter as _;
                 enable_scatter as u64
             });
         __bindgen_bitfield_unit
@@ -1010,7 +1002,7 @@
                 8usize,
                 1u8,
             >({
-                let enable_lro: u16 = unsafe { ::std::mem::transmute(enable_lro) };
+                let enable_lro: u16 = enable_lro as _;
                 enable_lro as u64
             });
         __bindgen_bitfield_unit
@@ -1070,7 +1062,7 @@
     #[inline]
     pub fn set_hw_vlan_reject_tagged(&mut self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -1090,7 +1082,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_reject_tagged_raw(this: *mut Self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -1108,7 +1100,7 @@
     #[inline]
     pub fn set_hw_vlan_reject_untagged(&mut self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -1128,7 +1120,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_reject_untagged_raw(this: *mut Self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -1146,7 +1138,7 @@
     #[inline]
     pub fn set_hw_vlan_insert_pvid(&mut self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -1166,7 +1158,7 @@
     #[inline]
     pub unsafe fn set_hw_vlan_insert_pvid_raw(this: *mut Self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -1187,9 +1179,7 @@
                 0usize,
                 1u8,
             >({
-                let hw_vlan_reject_tagged: u8 = unsafe {
-                    ::std::mem::transmute(hw_vlan_reject_tagged)
-                };
+                let hw_vlan_reject_tagged: u8 = hw_vlan_reject_tagged as _;
                 hw_vlan_reject_tagged as u64
             });
         __bindgen_bitfield_unit
@@ -1197,9 +1187,7 @@
                 1usize,
                 1u8,
             >({
-                let hw_vlan_reject_untagged: u8 = unsafe {
-                    ::std::mem::transmute(hw_vlan_reject_untagged)
-                };
+                let hw_vlan_reject_untagged: u8 = hw_vlan_reject_untagged as _;
                 hw_vlan_reject_untagged as u64
             });
         __bindgen_bitfield_unit
@@ -1207,9 +1195,7 @@
                 2usize,
                 1u8,
             >({
-                let hw_vlan_insert_pvid: u8 = unsafe {
-                    ::std::mem::transmute(hw_vlan_insert_pvid)
-                };
+                let hw_vlan_insert_pvid: u8 = hw_vlan_insert_pvid as _;
                 hw_vlan_insert_pvid as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/layout_mbuf.rs b/bindgen-tests/tests/expectations/tests/layout_mbuf.rs
index 270a22a..0c9e010 100644
--- a/bindgen-tests/tests/expectations/tests/layout_mbuf.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_mbuf.rs
@@ -626,7 +626,7 @@
     #[inline]
     pub fn set_l2_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -646,7 +646,7 @@
     #[inline]
     pub unsafe fn set_l2_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -664,7 +664,7 @@
     #[inline]
     pub fn set_l3_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -684,7 +684,7 @@
     #[inline]
     pub unsafe fn set_l3_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -702,7 +702,7 @@
     #[inline]
     pub fn set_l4_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<8usize, 4u8>(val as u64)
         }
     }
@@ -722,7 +722,7 @@
     #[inline]
     pub unsafe fn set_l4_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -740,7 +740,7 @@
     #[inline]
     pub fn set_tun_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<12usize, 4u8>(val as u64)
         }
     }
@@ -760,7 +760,7 @@
     #[inline]
     pub unsafe fn set_tun_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -778,7 +778,7 @@
     #[inline]
     pub fn set_inner_l2_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<16usize, 4u8>(val as u64)
         }
     }
@@ -798,7 +798,7 @@
     #[inline]
     pub unsafe fn set_inner_l2_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -816,7 +816,7 @@
     #[inline]
     pub fn set_inner_l3_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<20usize, 4u8>(val as u64)
         }
     }
@@ -836,7 +836,7 @@
     #[inline]
     pub unsafe fn set_inner_l3_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -854,7 +854,7 @@
     #[inline]
     pub fn set_inner_l4_type(&mut self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<24usize, 4u8>(val as u64)
         }
     }
@@ -874,7 +874,7 @@
     #[inline]
     pub unsafe fn set_inner_l4_type_raw(this: *mut Self, val: u32) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -899,7 +899,7 @@
                 0usize,
                 4u8,
             >({
-                let l2_type: u32 = unsafe { ::std::mem::transmute(l2_type) };
+                let l2_type: u32 = l2_type as _;
                 l2_type as u64
             });
         __bindgen_bitfield_unit
@@ -907,7 +907,7 @@
                 4usize,
                 4u8,
             >({
-                let l3_type: u32 = unsafe { ::std::mem::transmute(l3_type) };
+                let l3_type: u32 = l3_type as _;
                 l3_type as u64
             });
         __bindgen_bitfield_unit
@@ -915,7 +915,7 @@
                 8usize,
                 4u8,
             >({
-                let l4_type: u32 = unsafe { ::std::mem::transmute(l4_type) };
+                let l4_type: u32 = l4_type as _;
                 l4_type as u64
             });
         __bindgen_bitfield_unit
@@ -923,7 +923,7 @@
                 12usize,
                 4u8,
             >({
-                let tun_type: u32 = unsafe { ::std::mem::transmute(tun_type) };
+                let tun_type: u32 = tun_type as _;
                 tun_type as u64
             });
         __bindgen_bitfield_unit
@@ -931,7 +931,7 @@
                 16usize,
                 4u8,
             >({
-                let inner_l2_type: u32 = unsafe { ::std::mem::transmute(inner_l2_type) };
+                let inner_l2_type: u32 = inner_l2_type as _;
                 inner_l2_type as u64
             });
         __bindgen_bitfield_unit
@@ -939,7 +939,7 @@
                 20usize,
                 4u8,
             >({
-                let inner_l3_type: u32 = unsafe { ::std::mem::transmute(inner_l3_type) };
+                let inner_l3_type: u32 = inner_l3_type as _;
                 inner_l3_type as u64
             });
         __bindgen_bitfield_unit
@@ -947,7 +947,7 @@
                 24usize,
                 4u8,
             >({
-                let inner_l4_type: u32 = unsafe { ::std::mem::transmute(inner_l4_type) };
+                let inner_l4_type: u32 = inner_l4_type as _;
                 inner_l4_type as u64
             });
         __bindgen_bitfield_unit
@@ -1188,7 +1188,7 @@
     #[inline]
     pub fn set_l2_len(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<0usize, 7u8>(val as u64)
         }
     }
@@ -1208,7 +1208,7 @@
     #[inline]
     pub unsafe fn set_l2_len_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1226,7 +1226,7 @@
     #[inline]
     pub fn set_l3_len(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<7usize, 9u8>(val as u64)
         }
     }
@@ -1246,7 +1246,7 @@
     #[inline]
     pub unsafe fn set_l3_len_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1264,7 +1264,7 @@
     #[inline]
     pub fn set_l4_len(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<16usize, 8u8>(val as u64)
         }
     }
@@ -1284,7 +1284,7 @@
     #[inline]
     pub unsafe fn set_l4_len_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1302,7 +1302,7 @@
     #[inline]
     pub fn set_tso_segsz(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<24usize, 16u8>(val as u64)
         }
     }
@@ -1322,7 +1322,7 @@
     #[inline]
     pub unsafe fn set_tso_segsz_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1340,7 +1340,7 @@
     #[inline]
     pub fn set_outer_l3_len(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<40usize, 9u8>(val as u64)
         }
     }
@@ -1360,7 +1360,7 @@
     #[inline]
     pub unsafe fn set_outer_l3_len_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1378,7 +1378,7 @@
     #[inline]
     pub fn set_outer_l2_len(&mut self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             self._bitfield_1.set_const::<49usize, 7u8>(val as u64)
         }
     }
@@ -1398,7 +1398,7 @@
     #[inline]
     pub unsafe fn set_outer_l2_len_raw(this: *mut Self, val: u64) {
         unsafe {
-            let val: u64 = ::std::mem::transmute(val);
+            let val: u64 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 7usize],
             >>::raw_set_const::<
@@ -1422,7 +1422,7 @@
                 0usize,
                 7u8,
             >({
-                let l2_len: u64 = unsafe { ::std::mem::transmute(l2_len) };
+                let l2_len: u64 = l2_len as _;
                 l2_len as u64
             });
         __bindgen_bitfield_unit
@@ -1430,7 +1430,7 @@
                 7usize,
                 9u8,
             >({
-                let l3_len: u64 = unsafe { ::std::mem::transmute(l3_len) };
+                let l3_len: u64 = l3_len as _;
                 l3_len as u64
             });
         __bindgen_bitfield_unit
@@ -1438,7 +1438,7 @@
                 16usize,
                 8u8,
             >({
-                let l4_len: u64 = unsafe { ::std::mem::transmute(l4_len) };
+                let l4_len: u64 = l4_len as _;
                 l4_len as u64
             });
         __bindgen_bitfield_unit
@@ -1446,7 +1446,7 @@
                 24usize,
                 16u8,
             >({
-                let tso_segsz: u64 = unsafe { ::std::mem::transmute(tso_segsz) };
+                let tso_segsz: u64 = tso_segsz as _;
                 tso_segsz as u64
             });
         __bindgen_bitfield_unit
@@ -1454,7 +1454,7 @@
                 40usize,
                 9u8,
             >({
-                let outer_l3_len: u64 = unsafe { ::std::mem::transmute(outer_l3_len) };
+                let outer_l3_len: u64 = outer_l3_len as _;
                 outer_l3_len as u64
             });
         __bindgen_bitfield_unit
@@ -1462,7 +1462,7 @@
                 49usize,
                 7u8,
             >({
-                let outer_l2_len: u64 = unsafe { ::std::mem::transmute(outer_l2_len) };
+                let outer_l2_len: u64 = outer_l2_len as _;
                 outer_l2_len as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/only_bitfields.rs b/bindgen-tests/tests/expectations/tests/only_bitfields.rs
index 6e25fd3..92f8ae8 100644
--- a/bindgen-tests/tests/expectations/tests/only_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/only_bitfields.rs
@@ -508,7 +508,7 @@
     #[inline]
     pub fn set_a(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -528,7 +528,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -546,7 +546,7 @@
     #[inline]
     pub fn set_b(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 7u8>(val as u64)
         }
     }
@@ -566,7 +566,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -583,7 +583,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u8 = unsafe { ::std::mem::transmute(a) };
+                let a: u8 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -591,7 +591,7 @@
                 1usize,
                 7u8,
             >({
-                let b: u8 = unsafe { ::std::mem::transmute(b) };
+                let b: u8 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/packed-bitfield.rs b/bindgen-tests/tests/expectations/tests/packed-bitfield.rs
index a72a42b..a1d1ba4 100644
--- a/bindgen-tests/tests/expectations/tests/packed-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/packed-bitfield.rs
@@ -508,7 +508,7 @@
     #[inline]
     pub fn set_day(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 5u8>(val as u64)
         }
     }
@@ -528,7 +528,7 @@
     #[inline]
     pub unsafe fn set_day_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -546,7 +546,7 @@
     #[inline]
     pub fn set_month(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<5usize, 4u8>(val as u64)
         }
     }
@@ -566,7 +566,7 @@
     #[inline]
     pub unsafe fn set_month_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -584,7 +584,7 @@
     #[inline]
     pub fn set_year(&mut self, val: ::std::os::raw::c_short) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<9usize, 15u8>(val as u64)
         }
     }
@@ -604,7 +604,7 @@
     #[inline]
     pub unsafe fn set_year_raw(this: *mut Self, val: ::std::os::raw::c_short) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 3usize],
             >>::raw_set_const::<
@@ -625,7 +625,7 @@
                 0usize,
                 5u8,
             >({
-                let day: u8 = unsafe { ::std::mem::transmute(day) };
+                let day: u8 = day as _;
                 day as u64
             });
         __bindgen_bitfield_unit
@@ -633,7 +633,7 @@
                 5usize,
                 4u8,
             >({
-                let month: u8 = unsafe { ::std::mem::transmute(month) };
+                let month: u8 = month as _;
                 month as u64
             });
         __bindgen_bitfield_unit
@@ -641,7 +641,7 @@
                 9usize,
                 15u8,
             >({
-                let year: u16 = unsafe { ::std::mem::transmute(year) };
+                let year: u16 = year as _;
                 year as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/private_fields.rs b/bindgen-tests/tests/expectations/tests/private_fields.rs
index 9139267..9f2e6bd 100644
--- a/bindgen-tests/tests/expectations/tests/private_fields.rs
+++ b/bindgen-tests/tests/expectations/tests/private_fields.rs
@@ -525,7 +525,7 @@
     #[inline]
     fn set_a(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -545,7 +545,7 @@
     #[inline]
     unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -563,7 +563,7 @@
     #[inline]
     fn set_b(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -583,7 +583,7 @@
     #[inline]
     unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -603,7 +603,7 @@
                 0usize,
                 4u8,
             >({
-                let a: u32 = unsafe { ::std::mem::transmute(a) };
+                let a: u32 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -611,7 +611,7 @@
                 4usize,
                 4u8,
             >({
-                let b: u32 = unsafe { ::std::mem::transmute(b) };
+                let b: u32 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
@@ -639,7 +639,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -659,7 +659,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -677,7 +677,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -697,7 +697,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -717,7 +717,7 @@
                 0usize,
                 4u8,
             >({
-                let a: u32 = unsafe { ::std::mem::transmute(a) };
+                let a: u32 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -725,7 +725,7 @@
                 4usize,
                 4u8,
             >({
-                let b: u32 = unsafe { ::std::mem::transmute(b) };
+                let b: u32 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
@@ -753,7 +753,7 @@
     #[inline]
     fn set_a(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -773,7 +773,7 @@
     #[inline]
     unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -791,7 +791,7 @@
     #[inline]
     pub fn set_d(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -811,7 +811,7 @@
     #[inline]
     pub unsafe fn set_d_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -831,7 +831,7 @@
                 0usize,
                 4u8,
             >({
-                let a: u32 = unsafe { ::std::mem::transmute(a) };
+                let a: u32 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -839,7 +839,7 @@
                 4usize,
                 4u8,
             >({
-                let d: u32 = unsafe { ::std::mem::transmute(d) };
+                let d: u32 = d as _;
                 d as u64
             });
         __bindgen_bitfield_unit
@@ -997,7 +997,7 @@
     #[inline]
     pub fn set_bf_a(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 4u8>(val as u64)
         }
     }
@@ -1017,7 +1017,7 @@
     #[inline]
     pub unsafe fn set_bf_a_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -1035,7 +1035,7 @@
     #[inline]
     fn set_bf_b(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<4usize, 4u8>(val as u64)
         }
     }
@@ -1055,7 +1055,7 @@
     #[inline]
     unsafe fn set_bf_b_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -1073,7 +1073,7 @@
     #[inline]
     fn set_private_bf_c(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<8usize, 4u8>(val as u64)
         }
     }
@@ -1093,7 +1093,7 @@
     #[inline]
     unsafe fn set_private_bf_c_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -1114,7 +1114,7 @@
                 0usize,
                 4u8,
             >({
-                let bf_a: u32 = unsafe { ::std::mem::transmute(bf_a) };
+                let bf_a: u32 = bf_a as _;
                 bf_a as u64
             });
         __bindgen_bitfield_unit
@@ -1122,7 +1122,7 @@
                 4usize,
                 4u8,
             >({
-                let bf_b: u32 = unsafe { ::std::mem::transmute(bf_b) };
+                let bf_b: u32 = bf_b as _;
                 bf_b as u64
             });
         __bindgen_bitfield_unit
@@ -1130,7 +1130,7 @@
                 8usize,
                 4u8,
             >({
-                let private_bf_c: u32 = unsafe { ::std::mem::transmute(private_bf_c) };
+                let private_bf_c: u32 = private_bf_c as _;
                 private_bf_c as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/redundant-packed-and-align.rs b/bindgen-tests/tests/expectations/tests/redundant-packed-and-align.rs
index 77f9531..c5fdff6 100644
--- a/bindgen-tests/tests/expectations/tests/redundant-packed-and-align.rs
+++ b/bindgen-tests/tests/expectations/tests/redundant-packed-and-align.rs
@@ -541,7 +541,7 @@
     #[inline]
     pub fn set_b0(&mut self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -561,7 +561,7 @@
     #[inline]
     pub unsafe fn set_b0_raw(this: *mut Self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -579,7 +579,7 @@
     #[inline]
     pub fn set_b1(&mut self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -599,7 +599,7 @@
     #[inline]
     pub unsafe fn set_b1_raw(this: *mut Self, val: u8) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -616,7 +616,7 @@
                 0usize,
                 1u8,
             >({
-                let b0: u8 = unsafe { ::std::mem::transmute(b0) };
+                let b0: u8 = b0 as _;
                 b0 as u64
             });
         __bindgen_bitfield_unit
@@ -624,7 +624,7 @@
                 1usize,
                 1u8,
             >({
-                let b1: u8 = unsafe { ::std::mem::transmute(b1) };
+                let b1: u8 = b1 as _;
                 b1 as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs b/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs
index 20c85cc..f4ee972 100644
--- a/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs
@@ -511,7 +511,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -531,7 +531,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -549,7 +549,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
         }
     }
@@ -569,7 +569,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -587,7 +587,7 @@
     #[inline]
     pub fn set_c(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<2usize, 1u8>(val as u64)
         }
     }
@@ -607,7 +607,7 @@
     #[inline]
     pub unsafe fn set_c_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -625,7 +625,7 @@
     #[inline]
     pub fn set_d(&mut self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             self._bitfield_1.set_const::<6usize, 2u8>(val as u64)
         }
     }
@@ -645,7 +645,7 @@
     #[inline]
     pub unsafe fn set_d_raw(this: *mut Self, val: ::std::os::raw::c_ushort) {
         unsafe {
-            let val: u16 = ::std::mem::transmute(val);
+            let val: u16 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -667,7 +667,7 @@
                 0usize,
                 1u8,
             >({
-                let a: u16 = unsafe { ::std::mem::transmute(a) };
+                let a: u16 = a as _;
                 a as u64
             });
         __bindgen_bitfield_unit
@@ -675,7 +675,7 @@
                 1usize,
                 1u8,
             >({
-                let b: u16 = unsafe { ::std::mem::transmute(b) };
+                let b: u16 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
@@ -683,7 +683,7 @@
                 2usize,
                 1u8,
             >({
-                let c: u16 = unsafe { ::std::mem::transmute(c) };
+                let c: u16 = c as _;
                 c as u64
             });
         __bindgen_bitfield_unit
@@ -691,7 +691,7 @@
                 6usize,
                 2u8,
             >({
-                let d: u16 = unsafe { ::std::mem::transmute(d) };
+                let d: u16 = d as _;
                 d as u64
             });
         __bindgen_bitfield_unit
@@ -705,7 +705,7 @@
     #[inline]
     pub fn set_f(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_2.set_const::<0usize, 2u8>(val as u64)
         }
     }
@@ -725,7 +725,7 @@
     #[inline]
     pub unsafe fn set_f_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -743,7 +743,7 @@
     #[inline]
     pub fn set_g(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_2.set_const::<32usize, 32u8>(val as u64)
         }
     }
@@ -763,7 +763,7 @@
     #[inline]
     pub unsafe fn set_g_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 8usize],
             >>::raw_set_const::<
@@ -783,7 +783,7 @@
                 0usize,
                 2u8,
             >({
-                let f: u32 = unsafe { ::std::mem::transmute(f) };
+                let f: u32 = f as _;
                 f as u64
             });
         __bindgen_bitfield_unit
@@ -791,7 +791,7 @@
                 32usize,
                 32u8,
             >({
-                let g: u32 = unsafe { ::std::mem::transmute(g) };
+                let g: u32 = g as _;
                 g as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/timex.rs b/bindgen-tests/tests/expectations/tests/timex.rs
index 7e237c6..4bf28c3 100644
--- a/bindgen-tests/tests/expectations/tests/timex.rs
+++ b/bindgen-tests/tests/expectations/tests/timex.rs
@@ -542,7 +542,7 @@
     #[inline]
     pub fn set_a(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 32u8>(val as u64)
         }
     }
@@ -562,7 +562,7 @@
     #[inline]
     pub unsafe fn set_a_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -580,7 +580,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<32usize, 32u8>(val as u64)
         }
     }
@@ -600,7 +600,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -618,7 +618,7 @@
     #[inline]
     pub fn set_c(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<64usize, 32u8>(val as u64)
         }
     }
@@ -638,7 +638,7 @@
     #[inline]
     pub unsafe fn set_c_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -656,7 +656,7 @@
     #[inline]
     pub fn set_d(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<96usize, 32u8>(val as u64)
         }
     }
@@ -676,7 +676,7 @@
     #[inline]
     pub unsafe fn set_d_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -694,7 +694,7 @@
     #[inline]
     pub fn set_e(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<128usize, 32u8>(val as u64)
         }
     }
@@ -714,7 +714,7 @@
     #[inline]
     pub unsafe fn set_e_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -732,7 +732,7 @@
     #[inline]
     pub fn set_f(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<160usize, 32u8>(val as u64)
         }
     }
@@ -752,7 +752,7 @@
     #[inline]
     pub unsafe fn set_f_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -770,7 +770,7 @@
     #[inline]
     pub fn set_g(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<192usize, 32u8>(val as u64)
         }
     }
@@ -790,7 +790,7 @@
     #[inline]
     pub unsafe fn set_g_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -808,7 +808,7 @@
     #[inline]
     pub fn set_h(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<224usize, 32u8>(val as u64)
         }
     }
@@ -828,7 +828,7 @@
     #[inline]
     pub unsafe fn set_h_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -846,7 +846,7 @@
     #[inline]
     pub fn set_i(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<256usize, 32u8>(val as u64)
         }
     }
@@ -866,7 +866,7 @@
     #[inline]
     pub unsafe fn set_i_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -884,7 +884,7 @@
     #[inline]
     pub fn set_j(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<288usize, 32u8>(val as u64)
         }
     }
@@ -904,7 +904,7 @@
     #[inline]
     pub unsafe fn set_j_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
@@ -922,7 +922,7 @@
     #[inline]
     pub fn set_k(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<320usize, 32u8>(val as u64)
         }
     }
@@ -942,7 +942,7 @@
     #[inline]
     pub unsafe fn set_k_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 44usize],
             >>::raw_set_const::<
diff --git a/bindgen-tests/tests/expectations/tests/union_bitfield.rs b/bindgen-tests/tests/expectations/tests/union_bitfield.rs
index d9af24c..ce67d03 100644
--- a/bindgen-tests/tests/expectations/tests/union_bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/union_bitfield.rs
@@ -518,7 +518,7 @@
     #[inline]
     pub fn set_derp(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -538,7 +538,7 @@
     #[inline]
     pub unsafe fn set_derp_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -557,7 +557,7 @@
                 0usize,
                 1u8,
             >({
-                let derp: u32 = unsafe { ::std::mem::transmute(derp) };
+                let derp: u32 = derp as _;
                 derp as u64
             });
         __bindgen_bitfield_unit
@@ -593,7 +593,7 @@
     #[inline]
     pub fn set_foo(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 31u8>(val as u64)
         }
     }
@@ -613,7 +613,7 @@
     #[inline]
     pub unsafe fn set_foo_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -631,7 +631,7 @@
     #[inline]
     pub fn set_bar(&mut self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
         }
     }
@@ -651,7 +651,7 @@
     #[inline]
     pub unsafe fn set_bar_raw(this: *mut Self, val: ::std::os::raw::c_uchar) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 1usize],
             >>::raw_set_const::<
@@ -671,7 +671,7 @@
                 0usize,
                 31u8,
             >({
-                let foo: u32 = unsafe { ::std::mem::transmute(foo) };
+                let foo: u32 = foo as _;
                 foo as u64
             });
         __bindgen_bitfield_unit
@@ -679,7 +679,7 @@
                 0usize,
                 1u8,
             >({
-                let bar: u8 = unsafe { ::std::mem::transmute(bar) };
+                let bar: u8 = bar as _;
                 bar as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs
index b757df6..475dc01 100644
--- a/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs
@@ -517,7 +517,7 @@
     #[inline]
     pub fn set_b(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 7u8>(val as u64)
         }
     }
@@ -537,7 +537,7 @@
     #[inline]
     pub unsafe fn set_b_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -555,7 +555,7 @@
     #[inline]
     pub fn set_c(&mut self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<7usize, 25u8>(val as u64)
         }
     }
@@ -575,7 +575,7 @@
     #[inline]
     pub unsafe fn set_c_raw(this: *mut Self, val: ::std::os::raw::c_int) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -595,7 +595,7 @@
                 0usize,
                 7u8,
             >({
-                let b: u32 = unsafe { ::std::mem::transmute(b) };
+                let b: u32 = b as _;
                 b as u64
             });
         __bindgen_bitfield_unit
@@ -603,7 +603,7 @@
                 7usize,
                 25u8,
             >({
-                let c: u32 = unsafe { ::std::mem::transmute(c) };
+                let c: u32 = c as _;
                 c as u64
             });
         __bindgen_bitfield_unit
diff --git a/bindgen-tests/tests/expectations/tests/weird_bitfields.rs b/bindgen-tests/tests/expectations/tests/weird_bitfields.rs
index 7a9269b..db0a4f1 100644
--- a/bindgen-tests/tests/expectations/tests/weird_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/weird_bitfields.rs
@@ -574,7 +574,7 @@
     #[inline]
     pub fn set_bitTest(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<0usize, 16u8>(val as u64)
         }
     }
@@ -594,7 +594,7 @@
     #[inline]
     pub unsafe fn set_bitTest_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -612,7 +612,7 @@
     #[inline]
     pub fn set_bitTest2(&mut self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_1.set_const::<16usize, 15u8>(val as u64)
         }
     }
@@ -632,7 +632,7 @@
     #[inline]
     pub unsafe fn set_bitTest2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 4usize],
             >>::raw_set_const::<
@@ -652,7 +652,7 @@
                 0usize,
                 16u8,
             >({
-                let bitTest: u32 = unsafe { ::std::mem::transmute(bitTest) };
+                let bitTest: u32 = bitTest as _;
                 bitTest as u64
             });
         __bindgen_bitfield_unit
@@ -660,7 +660,7 @@
                 16usize,
                 15u8,
             >({
-                let bitTest2: u32 = unsafe { ::std::mem::transmute(bitTest2) };
+                let bitTest2: u32 = bitTest2 as _;
                 bitTest2 as u64
             });
         __bindgen_bitfield_unit
@@ -674,7 +674,7 @@
     #[inline]
     pub fn set_mFillOpacitySource(&mut self, val: nsStyleSVGOpacitySource) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_2.set_const::<0usize, 3u8>(val as u64)
         }
     }
@@ -697,7 +697,7 @@
         val: nsStyleSVGOpacitySource,
     ) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -715,7 +715,7 @@
     #[inline]
     pub fn set_mStrokeOpacitySource(&mut self, val: nsStyleSVGOpacitySource) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             self._bitfield_2.set_const::<3usize, 3u8>(val as u64)
         }
     }
@@ -740,7 +740,7 @@
         val: nsStyleSVGOpacitySource,
     ) {
         unsafe {
-            let val: u32 = ::std::mem::transmute(val);
+            let val: u32 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -758,7 +758,7 @@
     #[inline]
     pub fn set_mStrokeDasharrayFromObject(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<6usize, 1u8>(val as u64)
         }
     }
@@ -778,7 +778,7 @@
     #[inline]
     pub unsafe fn set_mStrokeDasharrayFromObject_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -796,7 +796,7 @@
     #[inline]
     pub fn set_mStrokeDashoffsetFromObject(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<7usize, 1u8>(val as u64)
         }
     }
@@ -816,7 +816,7 @@
     #[inline]
     pub unsafe fn set_mStrokeDashoffsetFromObject_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -834,7 +834,7 @@
     #[inline]
     pub fn set_mStrokeWidthFromObject(&mut self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             self._bitfield_2.set_const::<8usize, 1u8>(val as u64)
         }
     }
@@ -854,7 +854,7 @@
     #[inline]
     pub unsafe fn set_mStrokeWidthFromObject_raw(this: *mut Self, val: bool) {
         unsafe {
-            let val: u8 = ::std::mem::transmute(val);
+            let val: u8 = val as _;
             <__BindgenBitfieldUnit<
                 [u8; 2usize],
             >>::raw_set_const::<
@@ -877,9 +877,7 @@
                 0usize,
                 3u8,
             >({
-                let mFillOpacitySource: u32 = unsafe {
-                    ::std::mem::transmute(mFillOpacitySource)
-                };
+                let mFillOpacitySource: u32 = mFillOpacitySource as _;
                 mFillOpacitySource as u64
             });
         __bindgen_bitfield_unit
@@ -887,9 +885,7 @@
                 3usize,
                 3u8,
             >({
-                let mStrokeOpacitySource: u32 = unsafe {
-                    ::std::mem::transmute(mStrokeOpacitySource)
-                };
+                let mStrokeOpacitySource: u32 = mStrokeOpacitySource as _;
                 mStrokeOpacitySource as u64
             });
         __bindgen_bitfield_unit
@@ -897,9 +893,7 @@
                 6usize,
                 1u8,
             >({
-                let mStrokeDasharrayFromObject: u8 = unsafe {
-                    ::std::mem::transmute(mStrokeDasharrayFromObject)
-                };
+                let mStrokeDasharrayFromObject: u8 = mStrokeDasharrayFromObject as _;
                 mStrokeDasharrayFromObject as u64
             });
         __bindgen_bitfield_unit
@@ -907,9 +901,7 @@
                 7usize,
                 1u8,
             >({
-                let mStrokeDashoffsetFromObject: u8 = unsafe {
-                    ::std::mem::transmute(mStrokeDashoffsetFromObject)
-                };
+                let mStrokeDashoffsetFromObject: u8 = mStrokeDashoffsetFromObject as _;
                 mStrokeDashoffsetFromObject as u64
             });
         __bindgen_bitfield_unit
@@ -917,9 +909,7 @@
                 8usize,
                 1u8,
             >({
-                let mStrokeWidthFromObject: u8 = unsafe {
-                    ::std::mem::transmute(mStrokeWidthFromObject)
-                };
+                let mStrokeWidthFromObject: u8 = mStrokeWidthFromObject as _;
                 mStrokeWidthFromObject as u64
             });
         __bindgen_bitfield_unit