1use core::mem::MaybeUninit;
4
5use crate::prelude::*;
6
7#[allow(unused)]
13#[repr(transparent)]
14#[derive(Clone, Copy)]
15pub(crate) struct Padding<T: Copy>(MaybeUninit<T>);
16
17impl<T: Copy> Default for Padding<T> {
18 fn default() -> Self {
19 Self(MaybeUninit::zeroed())
20 }
21}
22
23impl<T: Copy> fmt::Debug for Padding<T> {
24 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
25 let full_name = core::any::type_name::<Self>();
28 let prefix_len = full_name.find("Padding").unwrap();
29 f.pad(&full_name[prefix_len..])
30 }
31}
32
33#[cfg(target_env = "msvc")]
35#[allow(unused)]
36pub(crate) type CEnumRepr = c_int;
37#[cfg(not(target_env = "msvc"))]
38#[allow(unused)]
39pub(crate) type CEnumRepr = c_uint;