@@ -472,7 +472,8 @@ pub fn select_unpredictable<T>(b: bool, true_val: T, false_val: T) -> T {
472
472
}
473
473
474
474
/// A guard for unsafe functions that cannot ever be executed if `T` is uninhabited:
475
- /// This will statically either panic, or do nothing.
475
+ /// This will statically either panic, or do nothing. It does not *guarantee* to ever panic,
476
+ /// and should only be called if an assertion failure will imply language UB in the following code.
476
477
///
477
478
/// This intrinsic does not have a stable counterpart.
478
479
#[ rustc_intrinsic_const_stable_indirect]
@@ -481,15 +482,19 @@ pub fn select_unpredictable<T>(b: bool, true_val: T, false_val: T) -> T {
481
482
pub const fn assert_inhabited < T > ( ) ;
482
483
483
484
/// A guard for unsafe functions that cannot ever be executed if `T` does not permit
484
- /// zero-initialization: This will statically either panic, or do nothing.
485
+ /// zero-initialization: This will statically either panic, or do nothing. It does not *guarantee*
486
+ /// to ever panic, and should only be called if an assertion failure will imply language UB in the
487
+ /// following code.
485
488
///
486
489
/// This intrinsic does not have a stable counterpart.
487
490
#[ rustc_intrinsic_const_stable_indirect]
488
491
#[ rustc_nounwind]
489
492
#[ rustc_intrinsic]
490
493
pub const fn assert_zero_valid < T > ( ) ;
491
494
492
- /// A guard for `std::mem::uninitialized`. This will statically either panic, or do nothing.
495
+ /// A guard for `std::mem::uninitialized`. This will statically either panic, or do nothing. It does
496
+ /// not *guarantee* to ever panic, and should only be called if an assertion failure will imply
497
+ /// language UB in the following code.
493
498
///
494
499
/// This intrinsic does not have a stable counterpart.
495
500
#[ rustc_intrinsic_const_stable_indirect]
0 commit comments