macro_rules! _impl_layout_field_access {
([$($impl_generics:tt)*], $outer:ty => $fields:ty $(,)?) => {
impl<$($impl_generics)*> core::ops::Deref for $outer {
type Target = $fields;
#[inline]
fn deref(&self) -> &Self::Target {
unsafe { &*(self as *const Self as *const Self::Target) }
}
}
impl<$($impl_generics)*> core::ops::DerefMut for $outer {
#[inline]
fn deref_mut(&mut self) -> &mut Self::Target {
unsafe { &mut *(self as *mut Self as *mut Self::Target) }
}
}
};
}
pub(crate) use _impl_layout_field_access;