pub trait GenerationalPlanExt<VM: VMBinding>: GenerationalPlan<VM = VM> {
    // Required method
    fn trace_object_nursery<Q: ObjectQueue, const KIND: u8>(
        &self,
        queue: &mut Q,
        object: ObjectReference,
        worker: &mut GCWorker<VM>
    ) -> ObjectReference;
}
Expand description

This trait is the extension trait for GenerationalPlan (see Rust’s extension trait pattern). Generally any method should be put to GenerationalPlan if possible while keeping GenerationalPlan object safe. In this case, generic methods will be put to this extension trait.

Required Methods§

source

fn trace_object_nursery<Q: ObjectQueue, const KIND: u8>( &self, queue: &mut Q, object: ObjectReference, worker: &mut GCWorker<VM> ) -> ObjectReference

Trace an object in nursery collection. If the object is in nursery, we should call trace_object on the space. Otherwise, we can just return the object.

Object Safety§

This trait is not object safe.

Implementors§