@@ -2436,11 +2436,13 @@ extern "rust-intrinsic" { |
|
|
2436 |
2436 |
/// |
2437 |
2437 |
/// # Safety |
2438 |
2438 |
/// |
2439 |
|
- /// It's UB to call this if any of the *bytes* in `*a` or `*b` are uninitialized or carry a |
2440 |
|
- /// pointer value. |
|
2439 |
+ /// It's UB to call this if any of the *bytes* in `*a` or `*b` are uninitialized. |
2441 |
2440 |
/// Note that this is a stricter criterion than just the *values* being |
2442 |
2441 |
/// fully-initialized: if `T` has padding, it's UB to call this intrinsic. |
2443 |
2442 |
/// |
|
2443 |
+ /// At compile-time, it is furthermore UB to call this if any of the bytes |
|
2444 |
+ /// in `*a` or `*b` have provenance. |
|
2445 |
+ /// |
2444 |
2446 |
/// (The implementation is allowed to branch on the results of comparisons, |
2445 |
2447 |
/// which is UB if any of their inputs are `undef`.) |
2446 |
2448 |
#[rustc_const_unstable(feature = "const_intrinsic_raw_eq", issue = "none")] |