diff options
| author | Markus Reiter <me@reitermark.us> | 2024-02-08 20:40:55 +0100 |
|---|---|---|
| committer | Markus Reiter <me@reitermark.us> | 2024-02-08 20:44:32 +0100 |
| commit | d70d3204b7e669ff8046bfe55999a36a39896c08 (patch) | |
| tree | 9514de40bb3aae837f7f3bedb3e2d144852e6a36 | |
| parent | c29082fe7dc6e902169cacbae165562a7e4a1fd6 (diff) | |
| download | rust-d70d3204b7e669ff8046bfe55999a36a39896c08.tar.gz rust-d70d3204b7e669ff8046bfe55999a36a39896c08.zip | |
Use `transmute_unchecked` in `NonZero::new`.
| -rw-r--r-- | library/core/src/num/nonzero.rs | 4 |
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. |
