diff options
Diffstat (limited to 'src/libcore/mem')
| -rw-r--r-- | src/libcore/mem/maybe_uninit.rs | 12 | ||||
| -rw-r--r-- | src/libcore/mem/mod.rs | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/libcore/mem/maybe_uninit.rs b/src/libcore/mem/maybe_uninit.rs index 58aaac21ad7..bf39d56fc11 100644 --- a/src/libcore/mem/maybe_uninit.rs +++ b/src/libcore/mem/maybe_uninit.rs @@ -495,7 +495,10 @@ impl<T> MaybeUninit<T> { #[inline(always)] #[rustc_diagnostic_item = "assume_init"] pub unsafe fn assume_init(self) -> T { + #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); + #[cfg(not(bootstrap))] + intrinsics::assert_inhabited::<T>(); ManuallyDrop::into_inner(self.value) } @@ -559,7 +562,10 @@ impl<T> MaybeUninit<T> { #[unstable(feature = "maybe_uninit_extra", issue = "63567")] #[inline(always)] pub unsafe fn read(&self) -> T { + #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); + #[cfg(not(bootstrap))] + intrinsics::assert_inhabited::<T>(); self.as_ptr().read() } @@ -621,7 +627,10 @@ impl<T> MaybeUninit<T> { #[unstable(feature = "maybe_uninit_ref", issue = "63568")] #[inline(always)] pub unsafe fn get_ref(&self) -> &T { + #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); + #[cfg(not(bootstrap))] + intrinsics::assert_inhabited::<T>(); &*self.value } @@ -739,7 +748,10 @@ impl<T> MaybeUninit<T> { #[unstable(feature = "maybe_uninit_ref", issue = "63568")] #[inline(always)] pub unsafe fn get_mut(&mut self) -> &mut T { + #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); + #[cfg(not(bootstrap))] + intrinsics::assert_inhabited::<T>(); &mut *self.value } diff --git a/src/libcore/mem/mod.rs b/src/libcore/mem/mod.rs index 7d9a8bcd05b..e65150af59f 100644 --- a/src/libcore/mem/mod.rs +++ b/src/libcore/mem/mod.rs @@ -497,7 +497,7 @@ pub const fn needs_drop<T>() -> bool { #[rustc_diagnostic_item = "mem_zeroed"] pub unsafe fn zeroed<T>() -> T { #[cfg(not(bootstrap))] - intrinsics::panic_if_zero_invalid::<T>(); + intrinsics::assert_zero_valid::<T>(); #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); intrinsics::init() @@ -533,7 +533,7 @@ pub unsafe fn zeroed<T>() -> T { #[rustc_diagnostic_item = "mem_uninitialized"] pub unsafe fn uninitialized<T>() -> T { #[cfg(not(bootstrap))] - intrinsics::panic_if_any_invalid::<T>(); + intrinsics::assert_uninit_valid::<T>(); #[cfg(bootstrap)] intrinsics::panic_if_uninhabited::<T>(); intrinsics::uninit() |
