diff --git a/src/tests.rs b/src/tests.rs index d1ffd525..1d897871 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -7,6 +7,7 @@ fn check_struct_sizes() { use crate::*; use std::mem::size_of; + const IS_32_BIT: bool = cfg!(target_pointer_width = "32"); const PACKED: bool = cfg!(all( target_pointer_width = "32", feature = "only_i32", @@ -19,11 +20,25 @@ fn check_struct_sizes() { size_of::(), if cfg!(feature = "no_position") { 0 } else { 4 } ); - assert_eq!(size_of::(), 32); + assert_eq!( + size_of::(), + if IS_32_BIT { + if cfg!(feature = "decimal") { + 24 + } else { + 16 + } + } else { + 32 + } + ); assert_eq!(size_of::(), if PACKED { 12 } else { 16 }); assert_eq!(size_of::>(), if PACKED { 12 } else { 16 }); - assert_eq!(size_of::(), if PACKED { 12 } else { 16 }); - assert_eq!(size_of::>(), if PACKED { 12 } else { 16 }); + assert_eq!(size_of::(), if IS_32_BIT { 12 } else { 16 }); + assert_eq!( + size_of::>(), + if IS_32_BIT { 12 } else { 16 } + ); #[cfg(target_pointer_width = "64")] {