Skip to content

Commit

Permalink
version 0.1.7 added missing CopyType for maligned types
Browse files Browse the repository at this point in the history
  • Loading branch information
zommiommy committed Apr 7, 2024
1 parent be31d3e commit 1e5b1c7
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 1 deletion.
6 changes: 6 additions & 0 deletions 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
Expand Down
2 changes: 1 addition & 1 deletion 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/"
Expand Down
40 changes: 40 additions & 0 deletions mem_dbg/src/impl_mem_size.rs
Expand Up @@ -937,6 +937,10 @@ impl<T: ?Sized> MemSize for core::ptr::NonNull<T> {
}
}

#[cfg(feature = "maligned")]
impl CopyType for maligned::A2 {
type Copy = True;
}
#[cfg(feature = "maligned")]
impl MemSize for maligned::A2 {
#[inline(always)]
Expand All @@ -945,62 +949,98 @@ 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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[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 {
self.0.mem_size(flags)
}
}
#[cfg(feature = "maligned")]
impl<A: maligned::Alignment, T: MemSize> CopyType for maligned::Aligned<A, T> {
type Copy = True;
}
#[cfg(feature = "maligned")]
impl<A: maligned::Alignment, T: MemSize> MemSize for maligned::Aligned<A, T> {
fn mem_size(&self, flags: SizeFlags) -> usize {
core::mem::size_of::<Self>() - core::mem::size_of::<T>() + self.deref().mem_size(flags)
Expand Down

0 comments on commit 1e5b1c7

Please sign in to comment.