to_bytes/
to_sized_array.rs1use crate::*;
2
3#[deprecated]
4pub trait ToSizedArray<T> {
6 type OutArr: Sized + AsRef<[T]> + Copy;
8 fn to_sized_array(self) -> Self::OutArr;
9}
10
11#[allow(deprecated)]
14impl<T: ToSizedArray<u8>> ToBytes for T {
15 #[inline(always)]
16 fn to_bytes(self) -> Bytes {
17 Bytes { inner: Some(self.to_sized_array().as_ref().to_vec()), drops: None }
18 }
19}
20
21#[allow(deprecated)]
22impl<'a, T: ToSizedArray<u8>> ReadBack<'a> for T {
23 #[inline(always)]
24 unsafe fn read_back(ptr: *const u8) -> &'a Self {
25 &*(ptr as *const T)
26 }
27}
28
29#[allow(deprecated)]
30impl<'a, T: ToSizedArray<u8>> ReadBackMut<'a> for T {
31 #[inline(always)]
32 unsafe fn read_back_mut(ptr: *mut u8) -> &'a mut Self {
33 &mut *(ptr as *mut T)
34 }
35}
36
37#[allow(deprecated)]
38impl<T: ToSizedArray<u8> + Copy> TransmuteBack for T {
39 #[inline(always)]
40 unsafe fn transmute_back(ptr: *const u8) -> Self {
41 *(ptr as *const T)
42 }
43}