fn free(&mut self, gcbox: GcBoxPtr) -> Option<GcBoxPtr> {
        let size = unsafe { gcbox.header().size() };
        self.stats.allocated -= size;
        self.stats.box_count -= 1;
        log::debug!("{:#X} free {} bytes", gcbox.as_ptr() as *const () as usize, size);
        
        unsafe { gcbox.free() }
    }
/// frees the GcBox, yielding it's next pointer
frees the GcBox, yielding it's next pointer
frees the GcBox yielding it ' s next pointer
fn free(&mut self, gcbox: GcBoxPtr) -> Option<GcBoxPtr> {
        let size = unsafe { gcbox.header().size() };
        self.stats.allocated -= size;
        self.stats.box_count -= 1;
        log::debug!("{:#X} free {} bytes", gcbox.as_ptr() as *const () as usize, size);
        unsafe { gcbox.free() }
    }
fn free ( & mut self , gcbox : GcBoxPtr ) -> Option < GcBoxPtr > { let size = unsafe { gcbox . header ( ) . size ( ) } ; self . stats . allocated -= size ; self . stats . box_count -= 1 ; log :: debug ! ( " " gcbox as_ptr ( ) as const ( ) as usize size ) ; unsafe { gcbox . free ( ) } }
frees the GcBox, yielding it's next pointer
frees the GcBox yielding it ' s next pointer
&mut self
gcbox
GcBoxPtr
&mut self
gcbox
GcBoxPtr