Rollup merge of #126703 - the8472:on-blackbox-crypto-use, r=scottmcm

reword the hint::blackbox non-guarantees

People were tripped up by the "precludes", interpreting it that this function must not ever be used in cryptographic contexts rather than the std lib merely making zero promises about it being fit-for-purpose.

What remains unchanged is that if someone does try to use it *despite the warnings* then it is on them to pin their compiler versions and verify the assembly of every single binary build they do.
This commit is contained in:
Matthias Krüger 2024-06-20 07:52:45 +02:00 committed by GitHub
commit af073e4e88
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -263,7 +263,7 @@ pub fn spin_loop() {
/// 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*, beyond it behaving as the
/// identity function. As such, it **must not be relied upon to control critical program behavior.**
/// This _immediately_ precludes any direct use of this function for cryptographic or security
/// This also means that this function does not offer any guarantees for cryptographic or security
/// purposes.
///
/// [`std::convert::identity`]: crate::convert::identity