pub fn black_box<T>(dummy: T) -> T
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 x
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.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/hint/fn.black_box.html