Simplify likely/unlikely/cold helpers

This commit is contained in:
Ivan Smirnov 2021-12-30 13:21:54 +03:00
parent 0c8d7c64e8
commit b25b060945

View file

@ -1,23 +1,19 @@
#[inline(always)] #[inline(always)]
#[allow(unused)] #[cold]
pub const fn cold() {}
#[inline(always)]
pub const fn likely(b: bool) -> bool { pub const fn likely(b: bool) -> bool {
// borrowed from `likely_stable` crate if !b {
#[allow(clippy::needless_bool)] cold()
if 1_i32.checked_div(if b { 1 } else { 0 }).is_some() {
true
} else {
false
} }
b
} }
#[inline(always)] #[inline(always)]
#[allow(unused)]
pub const fn unlikely(b: bool) -> bool { pub const fn unlikely(b: bool) -> bool {
// borrowed from `likely_stable` crate if b {
#[allow(clippy::needless_bool)] cold()
if 1_i32.checked_div(if b { 0 } else { 1 }).is_none() {
true
} else {
false
} }
b
} }