diff --git a/src/unix/bsd/apple/b32/align.rs b/src/unix/bsd/apple/b32/align.rs index ba9bc3ab3e28e50d8613e9aa1f84a3c00116c8bd..ca1fe1ce299442531bef79be18ad7caada5b2503 100644 --- a/src/unix/bsd/apple/b32/align.rs +++ b/src/unix/bsd/apple/b32/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 2]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 2] + } +} diff --git a/src/unix/bsd/apple/b64/align.rs b/src/unix/bsd/apple/b64/align.rs index ba9bc3ab3e28e50d8613e9aa1f84a3c00116c8bd..ca1fe1ce299442531bef79be18ad7caada5b2503 100644 --- a/src/unix/bsd/apple/b64/align.rs +++ b/src/unix/bsd/apple/b64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 2]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 2] + } +} diff --git a/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs b/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs index 7fffedbf9620ded7cca85f69d8affaa207f8e6c8..7ca870fd02b71e31e44439e3fabdf1386eb75bb9 100644 --- a/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs +++ b/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } +} diff --git a/src/unix/linux_like/android/b32/x86/align.rs b/src/unix/linux_like/android/b32/x86/align.rs index ca2085497c16968eb386b4fa77fb5bea2eb3c272..04df4a05d19b71c0f18360daf8b8dcd0ce5a4d41 100644 --- a/src/unix/linux_like/android/b32/x86/align.rs +++ b/src/unix/linux_like/android/b32/x86/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t([f64; 2]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [f64; 2] + } +} diff --git a/src/unix/linux_like/android/b64/aarch64/align.rs b/src/unix/linux_like/android/b64/aarch64/align.rs index a71235ab299c0b5828425ffb996c2e4fa0db25ec..8e949963a637fb4b171c1a3649cf6c2ef8d30a1d 100644 --- a/src/unix/linux_like/android/b64/aarch64/align.rs +++ b/src/unix/linux_like/android/b64/aarch64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f32; 8]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f32; 8] + } +} diff --git a/src/unix/linux_like/android/b64/x86_64/align.rs b/src/unix/linux_like/android/b64/x86_64/align.rs index 7fffedbf9620ded7cca85f69d8affaa207f8e6c8..7ca870fd02b71e31e44439e3fabdf1386eb75bb9 100644 --- a/src/unix/linux_like/android/b64/x86_64/align.rs +++ b/src/unix/linux_like/android/b64/x86_64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } +} diff --git a/src/unix/linux_like/emscripten/align.rs b/src/unix/linux_like/emscripten/align.rs index 8fa2186fc924cd0bfc327c3ac374796db8d50cb9..141570f88ffb9c0aa216745722353039ba5dabc7 100644 --- a/src/unix/linux_like/emscripten/align.rs +++ b/src/unix/linux_like/emscripten/align.rs @@ -1,10 +1,7 @@ macro_rules! expand_align { () => { - #[derive(Copy, Clone, Debug, PartialEq)] - #[repr(C, align(8))] - pub struct max_align_t([f64; 2]); - s! { + #[allow(missing_debug_implementations)] #[repr(align(4))] pub struct pthread_mutex_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], @@ -39,6 +36,13 @@ macro_rules! expand_align { pub struct pthread_cond_t { size: [u8; ::__SIZEOF_PTHREAD_COND_T], } + + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [f64; 2] + } + } cfg_if! { diff --git a/src/unix/linux_like/linux/gnu/b32/arm/align.rs b/src/unix/linux_like/linux/gnu/b32/arm/align.rs index cd887aca9d5cfd78f073faadc949bb524fc08c2b..825546be90a916c52fa04ba22cb9c7a168daa628 100644 --- a/src/unix/linux_like/linux/gnu/b32/arm/align.rs +++ b/src/unix/linux_like/linux/gnu/b32/arm/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t([i64; 2]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [i64; 2] + } +} diff --git a/src/unix/linux_like/linux/gnu/b32/mips/align.rs b/src/unix/linux_like/linux/gnu/b32/mips/align.rs index a6e238d77846b8e4eff399ce56a061d19d69c834..8c228ebab72cec19c6359b5b51d508c21f4f9000 100644 --- a/src/unix/linux_like/linux/gnu/b32/mips/align.rs +++ b/src/unix/linux_like/linux/gnu/b32/mips/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t([f32; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [f32; 4] + } +} diff --git a/src/unix/linux_like/linux/gnu/b32/x86/align.rs b/src/unix/linux_like/linux/gnu/b32/x86/align.rs index c9ab8b97841d2c227797896125181319af195992..96634749f53b2a7c2f5e21113d5dbd8a92b7f550 100644 --- a/src/unix/linux_like/linux/gnu/b32/x86/align.rs +++ b/src/unix/linux_like/linux/gnu/b32/x86/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 6]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 6] + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs index a71235ab299c0b5828425ffb996c2e4fa0db25ec..8e949963a637fb4b171c1a3649cf6c2ef8d30a1d 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f32; 8]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f32; 8] + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/mips64/align.rs b/src/unix/linux_like/linux/gnu/b64/mips64/align.rs index 7fffedbf9620ded7cca85f69d8affaa207f8e6c8..7ca870fd02b71e31e44439e3fabdf1386eb75bb9 100644 --- a/src/unix/linux_like/linux/gnu/b64/mips64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/mips64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs b/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs index 86a5f28f1f520ea611ca13959aa4b5e23fa757fc..29d1e1c7b8a5558fcfa3b8ac333cee3fa9784163 100644 --- a/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([i64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [i64; 4] + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs b/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs index 86a5f28f1f520ea611ca13959aa4b5e23fa757fc..29d1e1c7b8a5558fcfa3b8ac333cee3fa9784163 100644 --- a/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([i64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [i64; 4] + } +} diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs index 7fffedbf9620ded7cca85f69d8affaa207f8e6c8..7ca870fd02b71e31e44439e3fabdf1386eb75bb9 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } +} diff --git a/src/unix/linux_like/linux/musl/b32/arm/align.rs b/src/unix/linux_like/linux/musl/b32/arm/align.rs index 6b5d11820132d7203584f56b1addd0933a2b1080..aedbf7a99eb1b18a3f99ffb1746228f2c8d36179 100644 --- a/src/unix/linux_like/linux/musl/b32/arm/align.rs +++ b/src/unix/linux_like/linux/musl/b32/arm/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t(i64, i64); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: (i64, i64) + } +} diff --git a/src/unix/linux_like/linux/musl/b32/mips/align.rs b/src/unix/linux_like/linux/musl/b32/mips/align.rs index a6e238d77846b8e4eff399ce56a061d19d69c834..8c228ebab72cec19c6359b5b51d508c21f4f9000 100644 --- a/src/unix/linux_like/linux/musl/b32/mips/align.rs +++ b/src/unix/linux_like/linux/musl/b32/mips/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t([f32; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [f32; 4] + } +} diff --git a/src/unix/linux_like/linux/musl/b32/x86/align.rs b/src/unix/linux_like/linux/musl/b32/x86/align.rs index b203d7e8c87401fcb2e210d5e4380982186d79cf..79544176a88c92012772362fd005c65a954e7369 100644 --- a/src/unix/linux_like/linux/musl/b32/x86/align.rs +++ b/src/unix/linux_like/linux/musl/b32/x86/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(8))] -pub struct max_align_t([f64; 3]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(8))] + pub struct max_align_t { + priv_: [f64; 3] + } +} diff --git a/src/unix/linux_like/linux/musl/b64/aarch64/align.rs b/src/unix/linux_like/linux/musl/b64/aarch64/align.rs index a71235ab299c0b5828425ffb996c2e4fa0db25ec..8e949963a637fb4b171c1a3649cf6c2ef8d30a1d 100644 --- a/src/unix/linux_like/linux/musl/b64/aarch64/align.rs +++ b/src/unix/linux_like/linux/musl/b64/aarch64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f32; 8]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f32; 8] + } +} diff --git a/src/unix/linux_like/linux/musl/b64/x86_64/align.rs b/src/unix/linux_like/linux/musl/b64/x86_64/align.rs index 7fffedbf9620ded7cca85f69d8affaa207f8e6c8..7ca870fd02b71e31e44439e3fabdf1386eb75bb9 100644 --- a/src/unix/linux_like/linux/musl/b64/x86_64/align.rs +++ b/src/unix/linux_like/linux/musl/b64/x86_64/align.rs @@ -1,3 +1,7 @@ -#[derive(Copy, Clone, Debug, PartialEq)] -#[repr(C, align(16))] -pub struct max_align_t([f64; 4]); +s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } +} diff --git a/src/windows/gnu/align.rs b/src/windows/gnu/align.rs index dd3a3f72d30d03607cc8b3866de41fa34a12a10f..3af99e3ca149bf53fa803e05bb15f02f6f60a6e1 100644 --- a/src/windows/gnu/align.rs +++ b/src/windows/gnu/align.rs @@ -1,9 +1,19 @@ cfg_if! { if #[cfg(target_pointer_width = "64")] { - #[derive(Copy, Clone, Debug, PartialEq)] - #[repr(C, align(16))] pub struct max_align_t([f64; 4]); + s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [f64; 4] + } + } } else if #[cfg(target_pointer_width = "32")] { - #[derive(Copy, Clone, Debug, PartialEq)] - #[repr(C, align(16))] pub struct max_align_t([i64; 6]); + s_no_extra_traits! { + #[allow(missing_debug_implementations)] + #[repr(align(16))] + pub struct max_align_t { + priv_: [i64; 6] + } + } } }