pub fn black_box<T>(dummy: T) -> T
Expand description
An identity function that hints to the compiler to be maximally pessimistic about what
black_box
could do.
Unlike std::convert::identity
, a Rust compiler is encouraged to assume that black_box
can
use dummy
in any possible valid way that Rust code is allowed to without introducing undefined
behavior in the calling code. This property makes black_box
useful for writing code in which
certain optimizations are not desired, such as benchmarks.
Note however, that black_box
is only (and can only be) provided on a “best-effort” basis. The
extent to which it can block optimisations may vary depending upon the platform and code-gen
backend used. Programs cannot rely on black_box
for correctness in any way.