• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // FIXME: Branch prediction hint. This is currently only available on nightly
2 // but it consistently improves performance by 10-15%.
3 #[cfg(not(feature = "nightly"))]
4 pub(crate) use core::convert::{identity as likely, identity as unlikely};
5 #[cfg(feature = "nightly")]
6 pub(crate) use core::intrinsics::{likely, unlikely};
7 
8 // FIXME: use strict provenance functions once they are stable.
9 // Implement it with a transmute for now.
10 #[inline(always)]
11 #[allow(clippy::useless_transmute)] // clippy is wrong, cast and transmute are different here
invalid_mut<T>(addr: usize) -> *mut T12 pub(crate) fn invalid_mut<T>(addr: usize) -> *mut T {
13     unsafe { core::mem::transmute(addr) }
14 }
15