likely_polyfill

Crates.iolikely_polyfill
lib.rslikely_polyfill
version1.0.0
created_at2025-08-28 10:45:55.177168+00
updated_at2025-08-28 10:45:55.177168+00
descriptioncold_path, likely, and unlikely for non-nightly Rust
homepagehttps://docs.rs/likely_polyfill/
repositoryhttps://github.com/hsivonen/likely_polyfill
max_upload_size
id1813991
size15,112
ulms (github:foxford:ulms)

documentation

https://docs.rs/likely_polyfill/

README

As a workaround to their stabilization in the standard library remaining perma-open, this crate provides the cold_path, likely, and unlikely hints built on the #[cold] annotation as copied and pasted from the standard library source.

Licensing

MIT or Apache-2.0 (since code was copied from the standard library)

Why not a pre-existing crate?

There are other pre-existing crates for this purpose, but they use different implementation patterns, and I tested this pattern already.

Why not just #cold?

I saw a case where

if cond1 {
    if cond2 {
        // ..
        break;
    }
}
cold_path();

seemed to optimize differently than

if likely(cond1) {
    if likely(cond2) {
        // ..
        break;
    }
}

so it probably makes sense to experiment.

Commit count: 1

cargo fmt