about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarkus Reiter <me@reitermark.us>2024-02-08 20:40:55 +0100
committerMarkus Reiter <me@reitermark.us>2024-02-08 20:44:32 +0100
commitd70d3204b7e669ff8046bfe55999a36a39896c08 (patch)
tree9514de40bb3aae837f7f3bedb3e2d144852e6a36
parentc29082fe7dc6e902169cacbae165562a7e4a1fd6 (diff)
downloadrust-d70d3204b7e669ff8046bfe55999a36a39896c08.tar.gz
rust-d70d3204b7e669ff8046bfe55999a36a39896c08.zip
Use `transmute_unchecked` in `NonZero::new`.
-rw-r--r--library/core/src/num/nonzero.rs4
1 files changed, 1 insertions, 3 deletions
diff --git a/library/core/src/num/nonzero.rs b/library/core/src/num/nonzero.rs
index 193f2fa8731..bf676cb2248 100644
--- a/library/core/src/num/nonzero.rs
+++ b/library/core/src/num/nonzero.rs
@@ -8,7 +8,6 @@ use crate::intrinsics;
 use crate::marker::StructuralEq;
 use crate::marker::StructuralPartialEq;
 use crate::ops::{BitOr, BitOrAssign, Div, Neg, Rem};
-use crate::ptr;
 use crate::str::FromStr;
 
 use super::from_str_radix;
@@ -91,13 +90,12 @@ where
     /// Creates a non-zero if the given value is not zero.
     #[stable(feature = "nonzero", since = "1.28.0")]
     #[rustc_const_stable(feature = "const_nonzero_int_methods", since = "1.47.0")]
-    #[rustc_allow_const_fn_unstable(const_refs_to_cell)]
     #[must_use]
     #[inline]
     pub const fn new(n: T) -> Option<Self> {
         // SAFETY: Memory layout optimization guarantees that `Option<NonZero<T>>` has
         //         the same layout and size as `T`, with `0` representing `None`.
-        unsafe { ptr::read(ptr::addr_of!(n).cast()) }
+        unsafe { intrinsics::transmute_unchecked(n) }
     }
 
     /// Creates a non-zero without checking whether the value is non-zero.