WorldExposer

Trait WorldExposer 

pub trait WorldExposer {
    // Required methods
    fn on_interned<T>(
        &mut self,
        interned: InternedRef<'_, T>,
    ) -> ControlFlow<()>
       where T: Internable;
    fn on_interned_slice<T>(
        &mut self,
        interned: InternedSliceRef<'_, T>,
    ) -> ControlFlow<()>
       where T: SliceInternable;
}
Expand description

This is a visitor trait that treats any interned thing specifically. Visitables are expected to call the trait’s methods when encountering an interned. This is used to implement marking in GC.

Required Methods§

fn on_interned<T>(&mut self, interned: InternedRef<'_, T>) -> ControlFlow<()>
where T: Internable,

fn on_interned_slice<T>( &mut self, interned: InternedSliceRef<'_, T>, ) -> ControlFlow<()>
where T: SliceInternable,

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.

Implementations on Foreign Types§

§

impl WorldExposer for GarbageCollector

§

fn on_interned<T>(&mut self, interned: InternedRef<'_, T>) -> ControlFlow<()>
where T: Internable,

§

fn on_interned_slice<T>( &mut self, interned: InternedSliceRef<'_, T>, ) -> ControlFlow<()>
where T: SliceInternable,

Implementors§