use crate::ops::{Deref, DerefMut}; #[derive(Copy, Clone, Default, PartialEq, Eq, PartialOrd, Ord, Hash)] #[cfg_attr(target_arch = "aarch64", repr(align(128)))] #[cfg_attr(not(target_arch = "aarch64"), repr(align(64)))] pub(super) struct CacheAligned(pub T); impl Deref for CacheAligned { type Target = T; fn deref(&self) -> &Self::Target { &self.0 } } impl DerefMut for CacheAligned { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } impl CacheAligned { pub(super) fn new(t: T) -> Self { CacheAligned(t) } }