pub unsafe fn freeptr(&mut self, ptr: *const T) -> T {
        assert!(ptr as usize >= self.pool.as_ptr() as usize);
        // divide rounds down so it doesn't matter if its in the middle of Slot<>
        let idx = ((ptr as usize) - (self.pool.as_ptr() as usize)) / std::mem::size_of::<Slot<T>>();
        self.freeidx(idx)
    }
/// Allow an entry to be freed from a raw pointer. Inherently unsafe.
Allow an entry to be freed from a raw pointer. Inherently unsafe.
Allow an entry to be freed from a raw pointer . Inherently unsafe .
pub unsafe fn freeptr(&mut self, ptr: *const T) -> T {
        assert!(ptr as usize >= self.pool.as_ptr() as usize);
        // divide rounds down so it doesn't matter if its in the middle of Slot<>
        let idx = ((ptr as usize) - (self.pool.as_ptr() as usize)) / std::mem::size_of::<Slot<T>>();
        self.freeidx(idx)
    }
pub unsafe fn freeptr ( & mut self , ptr : * const T ) -> T { assert ! ( ptr as usize self pool as_ptr ( ) as usize ) ; // divide rounds down so it doesn't matter if its in the middle of Slot<> let idx = ( ( ptr as usize ) - ( self . pool . as_ptr ( ) as usize ) ) / std :: mem :: size_of :: < Slot < T > > ( ) ; self . freeidx ( idx ) }
Allow an entry to be freed from a raw pointer.
Allow an entry to be freed from a raw pointer .
&mut self
ptr
*const T
&mut self
ptr
*const T