unsafe fn decrement(&mut self) {
        let old = self.atomic_count.fetch_sub(1, Ordering::Release);
        atomic::fence(Ordering::Acquire);

        // If the value before decrementing was one,
        // this caller is the last reference holder and the inner data must be dropped.
        if old == 1 {
            ptr::drop_in_place(self);
        }
    }
/// Decrement the atomic counter for a given MlspInner pointer
///
/// # Safety
/// For each call to decrement there must have been exactly one
/// prior call to increment to prevent premature freeing.
Decrement the atomic counter for a given MlspInner pointer
Decrement the atomic counter for a given MlspInner pointer
unsafe fn decrement(&mut self) {
        let old = self.atomic_count.fetch_sub(1, Ordering::Release);
        atomic::fence(Ordering::Acquire);
        // If the value before decrementing was one,
        // this caller is the last reference holder and the inner data must be dropped.
        if old == 1 {
            ptr::drop_in_place(self);
        }
    }
unsafe fn decrement ( & mut self ) { let old = self . atomic_count . fetch_sub ( 1 , Ordering :: Release ) ; atomic :: fence ( Ordering :: Acquire ) ; // If the value before decrementing was one, // this caller is the last reference holder and the inner data must be dropped. if old == 1 { ptr :: drop_in_place ( self ) ; } }
Decrement the atomic counter for a given MlspInner pointer
Decrement the atomic counter for a given MlspInner pointer
&mut self
&mut self
safety
For each call to decrement there must have been exactly one
prior call to increment to prevent premature freeing.
For each call to decrement there must have been exactly one prior call to increment to prevent premature freeing .