mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-19 00:00:12 +02:00
use mem::MaybeUninit instead of mem::uninitialized
This commit is contained in:
+3
-3
@@ -1666,7 +1666,7 @@ impl<'a> From<&'a [u8]> for BytesMut {
|
|||||||
BytesMut::new()
|
BytesMut::new()
|
||||||
} else if len <= INLINE_CAP {
|
} else if len <= INLINE_CAP {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut inner: Inner = mem::uninitialized();
|
let mut inner: Inner = mem::MaybeUninit::uninit().assume_init();
|
||||||
|
|
||||||
// Set inline mask
|
// Set inline mask
|
||||||
inner.arc = AtomicPtr::new(KIND_INLINE as *mut Shared);
|
inner.arc = AtomicPtr::new(KIND_INLINE as *mut Shared);
|
||||||
@@ -1858,7 +1858,7 @@ impl Inner {
|
|||||||
if capacity <= INLINE_CAP {
|
if capacity <= INLINE_CAP {
|
||||||
unsafe {
|
unsafe {
|
||||||
// Using uninitialized memory is ~30% faster
|
// Using uninitialized memory is ~30% faster
|
||||||
let mut inner: Inner = mem::uninitialized();
|
let mut inner: Inner = mem::MaybeUninit::uninit().assume_init();
|
||||||
inner.arc = AtomicPtr::new(KIND_INLINE as *mut Shared);
|
inner.arc = AtomicPtr::new(KIND_INLINE as *mut Shared);
|
||||||
inner
|
inner
|
||||||
}
|
}
|
||||||
@@ -2176,7 +2176,7 @@ impl Inner {
|
|||||||
|
|
||||||
if self.is_inline_or_static() {
|
if self.is_inline_or_static() {
|
||||||
// In this case, a shallow_clone still involves copying the data.
|
// In this case, a shallow_clone still involves copying the data.
|
||||||
let mut inner: Inner = mem::uninitialized();
|
let mut inner: Inner = mem::MaybeUninit::uninit().assume_init();
|
||||||
ptr::copy_nonoverlapping(
|
ptr::copy_nonoverlapping(
|
||||||
self,
|
self,
|
||||||
&mut inner,
|
&mut inner,
|
||||||
|
|||||||
Reference in New Issue
Block a user