pub trait Transmittable: Copy + Sized + Default { unsafe fn write(ptr: *mut Self, val: &Self) { ... } unsafe fn read(ptr: *const Self) -> Self { ... } }