diff --git a/CHANGELOG.md b/CHANGELOG.md index 54fc436..9e001f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## [0.1.7] - 2024-04-07 + +### Improved + +* Added missing CopyTypes for maligned types + ## [0.1.6] - 2024-04-07 ### Improved diff --git a/mem_dbg/Cargo.toml b/mem_dbg/Cargo.toml index 7f3aea6..d827b6c 100644 --- a/mem_dbg/Cargo.toml +++ b/mem_dbg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mem_dbg" -version = "0.1.6" +version = "0.1.7" edition = "2021" description = "Traits and associated procedural macros to display recursively the layout and memory usage of a value" repository = "https://github.com/zommiommy/mem_dbg/" diff --git a/mem_dbg/src/impl_mem_size.rs b/mem_dbg/src/impl_mem_size.rs index 03a97d4..a1e4d27 100644 --- a/mem_dbg/src/impl_mem_size.rs +++ b/mem_dbg/src/impl_mem_size.rs @@ -937,6 +937,10 @@ impl MemSize for core::ptr::NonNull { } } +#[cfg(feature = "maligned")] +impl CopyType for maligned::A2 { + type Copy = True; +} #[cfg(feature = "maligned")] impl MemSize for maligned::A2 { #[inline(always)] @@ -945,6 +949,10 @@ impl MemSize for maligned::A2 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A4 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A4 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -952,6 +960,10 @@ impl MemSize for maligned::A4 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A8 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A8 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -959,6 +971,10 @@ impl MemSize for maligned::A8 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A16 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A16 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -966,6 +982,10 @@ impl MemSize for maligned::A16 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A32 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A32 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -973,6 +993,10 @@ impl MemSize for maligned::A32 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A64 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A64 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -980,6 +1004,10 @@ impl MemSize for maligned::A64 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A128 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A128 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -987,6 +1015,10 @@ impl MemSize for maligned::A128 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A256 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A256 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -994,6 +1026,10 @@ impl MemSize for maligned::A256 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::A512 { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::A512 { #[inline(always)] fn mem_size(&self, flags: SizeFlags) -> usize { @@ -1001,6 +1037,10 @@ impl MemSize for maligned::A512 { } } #[cfg(feature = "maligned")] +impl CopyType for maligned::Aligned { + type Copy = True; +} +#[cfg(feature = "maligned")] impl MemSize for maligned::Aligned { fn mem_size(&self, flags: SizeFlags) -> usize { core::mem::size_of::() - core::mem::size_of::() + self.deref().mem_size(flags)