diff options
Diffstat (limited to 'library/alloc/src/sync.rs')
| -rw-r--r-- | library/alloc/src/sync.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/library/alloc/src/sync.rs b/library/alloc/src/sync.rs index 06aecd9cc1e..d5ed3fd18c3 100644 --- a/library/alloc/src/sync.rs +++ b/library/alloc/src/sync.rs @@ -343,11 +343,11 @@ impl<T> Arc<T> { pub fn new(data: T) -> Arc<T> { // Start the weak pointer count as 1 which is the weak pointer that's // held by all the strong pointers (kinda), see std/rc.rs for more info - let x: Box<_> = box ArcInner { + let x: Box<_> = Box::new(ArcInner { strong: atomic::AtomicUsize::new(1), weak: atomic::AtomicUsize::new(1), data, - }; + }); unsafe { Self::from_inner(Box::leak(x).into()) } } @@ -411,11 +411,11 @@ impl<T> Arc<T> { { // Construct the inner in the "uninitialized" state with a single // weak reference. - let uninit_ptr: NonNull<_> = Box::leak(box ArcInner { + let uninit_ptr: NonNull<_> = Box::leak(Box::new(ArcInner { strong: atomic::AtomicUsize::new(0), weak: atomic::AtomicUsize::new(1), data: mem::MaybeUninit::<T>::uninit(), - }) + })) .into(); let init_ptr: NonNull<ArcInner<T>> = uninit_ptr.cast(); |
