Skip to main content

Reclaimable

Trait Reclaimable 

Source
pub unsafe trait Reclaimable: Sized {
    // Required methods
    fn retired_node(&self) -> &RetiredNode;
    fn retired_node_mut(&mut self) -> &mut RetiredNode;

    // Provided method
    unsafe fn dealloc(ptr: *mut Self) { ... }
}
Expand description

Trait for types that can be reclaimed

Types implementing this trait can be safely retired and reclaimed by the memory reclamation system.

§Safety

Implementors must ensure that reclaim is safe to call when the object is no longer reachable.

Required Methods§

Source

fn retired_node(&self) -> &RetiredNode

Get a reference to the embedded RetiredNode

Source

fn retired_node_mut(&mut self) -> &mut RetiredNode

Get a mutable reference to the embedded RetiredNode

Provided Methods§

Source

unsafe fn dealloc(ptr: *mut Self)

Deallocate this node

§Safety

This must only be called once, when the node is no longer accessible

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§