pub unsafe trait Trace {
// Provided methods
unsafe fn root(&mut self) { ... }
unsafe fn unroot(&mut self) { ... }
fn trace(&self, gc: &mut Gc) { ... }
}
Expand description
Trait which must be implemented on all root types which contain GcPtr
A type unsafe implementing Trace must call trace on each of its fields
which in turn contains GcPtr
Provided Methods§
Implementations on Foreign Types§
source§impl<A, B, C, D, E, F, G, H, I, J> Trace for (A, B, C, D, E, F, G, H, I, J)
impl<A, B, C, D, E, F, G, H, I, J> Trace for (A, B, C, D, E, F, G, H, I, J)
source§impl<B, C, D, E, F, G, H, I, J> Trace for (B, C, D, E, F, G, H, I, J)
impl<B, C, D, E, F, G, H, I, J> Trace for (B, C, D, E, F, G, H, I, J)
source§impl<C, D, E, F, G, H, I, J> Trace for (C, D, E, F, G, H, I, J)
impl<C, D, E, F, G, H, I, J> Trace for (C, D, E, F, G, H, I, J)
source§impl<D, E, F, G, H, I, J> Trace for (D, E, F, G, H, I, J)
impl<D, E, F, G, H, I, J> Trace for (D, E, F, G, H, I, J)
source§impl<E, F, G, H, I, J> Trace for (E, F, G, H, I, J)
impl<E, F, G, H, I, J> Trace for (E, F, G, H, I, J)
source§impl<F, G, H, I, J> Trace for (F, G, H, I, J)
impl<F, G, H, I, J> Trace for (F, G, H, I, J)
source§impl<G, H, I, J> Trace for (G, H, I, J)
impl<G, H, I, J> Trace for (G, H, I, J)
source§impl<T: ?Sized> Trace for PhantomData<T>
impl<T: ?Sized> Trace for PhantomData<T>
Implementors§
impl Trace for A
impl Trace for B
impl Trace for C
impl Trace for D
impl Trace for E
impl Trace for F
impl Trace for G
impl Trace for H
impl Trace for I
impl Trace for J
impl Trace for K
impl Trace for L
impl Trace for M
impl Trace for N
impl Trace for O
impl Trace for P
impl Trace for Q
impl Trace for R
impl Trace for S
impl Trace for T
impl Trace for U
impl Trace for V
impl Trace for X
impl Trace for Y
impl Trace for Z
impl Trace for ClosureData
impl Trace for InternedStr
impl Trace for Value
impl Trace for MacroEnv
impl Trace for DirEntry
impl Trace for Metadata
impl Trace for Stack
impl Trace for RootedThread
impl Trace for Thread
impl Trace for GlobalVmState
impl Trace for VmEnvInstance<'_>
impl<'a> Trace for Variants<'a>
impl<'a, T: Trace> Trace for Borrow<'a, T>
impl<T> Trace for Receiver<T>
impl<T> Trace for Sender<T>
impl<T> Trace for Lazy<T>
impl<T> Trace for Reference<T>
impl<T> Trace for RootedValue<T>where
T: VmRootInternal,
impl<T> Trace for gluon_vm::gc::mutex::Mutex<T>where
T: Trace,
impl<T> Trace for GcPtr<T>
When traversing a GcPtr
we need to mark it