fn decrement_shared_box<T>(inner: ptr::NonNull<SharedBox<T>>) -> Self {
        return Self {
            data: inner.as_ptr() as *const (),
            drop_fn: drop_fn_impl::<T>,
        };

        unsafe fn drop_fn_impl<T>(data: *const ()) {
            let shared = data as *mut () as *mut SharedBox<T>;
            SharedBox::dec(shared);
        }
    }
/// Construct a raw drop that will decrement the shared box when dropped.
///
/// # Safety
///
/// Should only be constructed over a pointer that is lively owned.
Construct a raw drop that will decrement the shared box when dropped.
Construct a raw drop that will decrement the shared box when dropped .
fn decrement_shared_box<T>(inner: ptr::NonNull<SharedBox<T>>) -> Self {
        return Self {
            data: inner.as_ptr() as *const (),
            drop_fn: drop_fn_impl::<T>,
        };
        unsafe fn drop_fn_impl<T>(data: *const ()) {
            let shared = data as *mut () as *mut SharedBox<T>;
            SharedBox::dec(shared);
        }
    }
fn decrement_shared_box < T > ( inner : ptr :: NonNull < SharedBox < T > > ) -> Self { return Self { data : inner . as_ptr ( ) as * const ( ) , drop_fn : drop_fn_impl :: < T > , } ; unsafe fn drop_fn_impl < T > ( data : * const ( ) ) { let shared = data as * mut ( ) as * mut SharedBox < T > ; SharedBox :: dec ( shared ) ; } }
Construct a raw drop that will decrement the shared box when dropped.
Construct a raw drop that will decrement the shared box when dropped .
inner
ptr::NonNull<SharedBox<T>>
inner
ptr::NonNull<SharedBox<T>>
safety
Should only be constructed over a pointer that is lively owned.
Should only be constructed over a pointer that is lively owned .