diff options
| author | Ralf Jung <post@ralfj.de> | 2020-03-12 19:38:09 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2020-03-12 19:38:09 +0100 |
| commit | f32cccc05e8c47ed799a99d06dbfb1571fa6908c (patch) | |
| tree | 55457d7bbb7b51c58bd008db62e9a8ea968c72e9 /src/libcore | |
| parent | 23de8275c9b5e5812dc54a12bdba6d80870d9dc8 (diff) | |
rename panic_if_ intrinsics to assert_
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/intrinsics.rs | 10 | ||||
| -rw-r--r-- | src/libcore/mem/maybe_uninit.rs | 12 | ||||
| -rw-r--r-- | src/libcore/mem/mod.rs | 4 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/libcore/intrinsics.rs b/src/libcore/intrinsics.rs index 3c060cc6e84..953b7a98651 100644 --- a/src/libcore/intrinsics.rs +++ b/src/libcore/intrinsics.rs @@ -1005,17 +1005,23 @@ extern "rust-intrinsic" { /// A guard for unsafe functions that cannot ever be executed if `T` is uninhabited: /// This will statically either panic, or do nothing. + #[cfg(bootstrap)] pub fn panic_if_uninhabited<T>(); + /// A guard for unsafe functions that cannot ever be executed if `T` is uninhabited: + /// This will statically either panic, or do nothing. + #[cfg(not(bootstrap))] + pub fn assert_inhabited<T>(); + /// A guard for unsafe functions that cannot ever be executed if `T` does not permit /// zero-initialization: This will statically either panic, or do nothing. #[cfg(not(bootstrap))] - pub fn panic_if_zero_invalid<T>(); + pub fn assert_zero_valid<T>(); /// A guard for unsafe functions that cannot ever be executed if `T` has invalid /// bit patterns: This will statically either panic, or do nothing. #[cfg(not(bootstrap))] - pub fn panic_if_any_invalid<T>(); + pub fn assert_uninit_valid<T>(); /// Gets a reference to a static `Location` indicating where it was called. #[rustc_const_unstable(feature = "const_caller_location", issue = "47809")] 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() |
