fix unnecessary transmute triggering on bitfield codegen
diff --git a/bindgen/codegen/mod.rs b/bindgen/codegen/mod.rs
index 2e2621a..7a998c8 100644
--- a/bindgen/codegen/mod.rs
+++ b/bindgen/codegen/mod.rs
@@ -1780,14 +1780,11 @@
 
         let offset = self.offset_into_unit();
         let width = self.width() as u8;
-        let prefix = ctx.trait_prefix();
 
         ctor_impl.append_all(quote! {
             __bindgen_bitfield_unit.set_const::<#offset, #width>(
                 {
-                    let #param_name: #bitfield_int_ty = unsafe {
-                        ::#prefix::mem::transmute(#param_name)
-                    };
+                    let #param_name: #bitfield_int_ty = #param_name as _;
                     #param_name as u64
                 }
             );
@@ -2092,24 +2089,19 @@
             methods.extend(Some(quote! {
                 #[inline]
                 #access_spec fn #getter_name(&self) -> #bitfield_ty {
-                    unsafe {
-                        ::#prefix::mem::transmute(
-                            self.#unit_field_ident.as_ref().get(#offset, #width)
-                                as #bitfield_int_ty
-                        )
-                    }
+                    self.#unit_field_ident.as_ref().get(#offset, #width)
+                        as #bitfield_int_ty
+                        as _
                 }
 
                 #[inline]
                 #access_spec fn #setter_name(&mut self, val: #bitfield_ty) {
-                    unsafe {
-                        let val: #bitfield_int_ty = ::#prefix::mem::transmute(val);
-                        self.#unit_field_ident.as_mut().set(
-                            #offset,
-                            #width,
-                            val as u64
-                        )
-                    }
+                    let val: #bitfield_int_ty = val as _;
+                    self.#unit_field_ident.as_mut().set(
+                        #offset,
+                        #width,
+                        val as u64
+                    )
                 }
             }));
 
@@ -2117,18 +2109,19 @@
                 #[inline]
                 #access_spec unsafe fn #raw_getter_name(this: *const Self) -> #bitfield_ty {
                     unsafe {
-                        ::#prefix::mem::transmute(<#unit_field_ty>::raw_get(
+                        <#unit_field_ty>::raw_get(
                             (*::#prefix::ptr::addr_of!((*this).#unit_field_ident)).as_ref() as *const _,
                             #offset,
                             #width,
-                        ) as #bitfield_int_ty)
+                        ) as #bitfield_int_ty
+                          as _
                     }
                 }
 
                 #[inline]
                 #access_spec unsafe fn #raw_setter_name(this: *mut Self, val: #bitfield_ty) {
                     unsafe {
-                        let val: #bitfield_int_ty = ::#prefix::mem::transmute(val);
+                        let val: #bitfield_int_ty = val as _;
                         <#unit_field_ty>::raw_set(
                             (*::#prefix::ptr::addr_of_mut!((*this).#unit_field_ident)).as_mut() as *mut _,
                             #offset,
@@ -2153,7 +2146,7 @@
                 #[inline]
                 #access_spec fn #setter_name(&mut self, val: #bitfield_ty) {
                     unsafe {
-                        let val: #bitfield_int_ty = ::#prefix::mem::transmute(val);
+                        let val: #bitfield_int_ty = val as _;
                         self.#unit_field_ident.set_const::<#offset, #width>(
                             val as u64
                         )
@@ -2174,7 +2167,7 @@
                 #[inline]
                 #access_spec unsafe fn #raw_setter_name(this: *mut Self, val: #bitfield_ty) {
                     unsafe {
-                        let val: #bitfield_int_ty = ::#prefix::mem::transmute(val);
+                        let val: #bitfield_int_ty = val as _;
                         <#unit_field_ty>::raw_set_const::<#offset, #width>(
                             ::#prefix::ptr::addr_of_mut!((*this).#unit_field_ident),
                             val as u64,