util.rs 491 B

12345678910111213141516
  1. use core::{mem, slice};
  2. #[cfg(feature = "std")]
  3. pub(crate) use std::collections::HashMap;
  4. #[cfg(feature = "std")]
  5. pub(crate) use std::collections::HashSet;
  6. #[cfg(not(feature = "std"))]
  7. pub(crate) use hashbrown::HashMap;
  8. #[cfg(not(feature = "std"))]
  9. pub(crate) use hashbrown::HashSet;
  10. /// bytes_of converts a <T> to a byte slice
  11. pub(crate) unsafe fn bytes_of<T>(val: &T) -> &[u8] {
  12. let size = mem::size_of::<T>();
  13. slice::from_raw_parts(slice::from_ref(val).as_ptr().cast(), size)
  14. }