[][src]Trait gluon_vm::gc::Traverseable

pub trait Traverseable {
    fn traverse(&self, gc: &mut Gc) { ... }
}

Trait which must be implemented on all root types which contain GcPtr A type implementing Traverseable must call traverse on each of its fields which in turn contains GcPtr

Provided Methods

Implementations on Foreign Types

impl<T: ?Sized> Traverseable for Box<T> where
    T: Traverseable
[src]

impl<'a, T: ?Sized> Traverseable for &'a T where
    T: Traverseable
[src]

impl<'a, T: ?Sized> Traverseable for &'a mut T where
    T: Traverseable
[src]

impl<J> Traverseable for (J,) where
    J: Traverseable
[src]

impl<I, J> Traverseable for (I, J) where
    I: Traverseable,
    J: Traverseable
[src]

impl<H, I, J> Traverseable for (H, I, J) where
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<G, H, I, J> Traverseable for (G, H, I, J) where
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<F, G, H, I, J> Traverseable for (F, G, H, I, J) where
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<E, F, G, H, I, J> Traverseable for (E, F, G, H, I, J) where
    E: Traverseable,
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<D, E, F, G, H, I, J> Traverseable for (D, E, F, G, H, I, J) where
    D: Traverseable,
    E: Traverseable,
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<C, D, E, F, G, H, I, J> Traverseable for (C, D, E, F, G, H, I, J) where
    C: Traverseable,
    D: Traverseable,
    E: Traverseable,
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<B, C, D, E, F, G, H, I, J> Traverseable for (B, C, D, E, F, G, H, I, J) where
    B: Traverseable,
    C: Traverseable,
    D: Traverseable,
    E: Traverseable,
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl<A, B, C, D, E, F, G, H, I, J> Traverseable for (A, B, C, D, E, F, G, H, I, J) where
    A: Traverseable,
    B: Traverseable,
    C: Traverseable,
    D: Traverseable,
    E: Traverseable,
    F: Traverseable,
    G: Traverseable,
    H: Traverseable,
    I: Traverseable,
    J: Traverseable
[src]

impl Traverseable for ()
[src]

impl Traverseable for dyn Any
[src]

impl Traverseable for u8
[src]

impl Traverseable for u16
[src]

impl Traverseable for u32
[src]

impl Traverseable for u64
[src]

impl Traverseable for usize
[src]

impl Traverseable for i8
[src]

impl Traverseable for i16
[src]

impl Traverseable for i32
[src]

impl Traverseable for i64
[src]

impl Traverseable for isize
[src]

impl Traverseable for f32
[src]

impl Traverseable for f64
[src]

impl Traverseable for str
[src]

impl<T: ?Sized> Traverseable for *const T
[src]

impl<T: ?Sized> Traverseable for *mut T
[src]

impl<T> Traverseable for Cell<T> where
    T: Traverseable + Copy
[src]

impl<U> Traverseable for [U] where
    U: Traverseable
[src]

impl<T> Traverseable for Vec<T> where
    T: Traverseable
[src]

impl<T> Traverseable for VecDeque<T> where
    T: Traverseable
[src]

Implementors

impl Traverseable for Value
[src]

impl Traverseable for DirEntry
[src]

impl Traverseable for Metadata
[src]

impl Traverseable for Stack
[src]

impl Traverseable for RootedThread
[src]

impl Traverseable for Thread
[src]

impl Traverseable for Global
[src]

impl Traverseable for GlobalVmState
[src]

impl<'a> Traverseable for Variants<'a>
[src]

impl<T> Traverseable for Receiver<T>
[src]

impl<T> Traverseable for Sender<T>
[src]

impl<T> Traverseable for Move<T> where
    T: Traverseable
[src]

impl<T> Traverseable for Lazy<T>
[src]

impl<T> Traverseable for Reference<T>
[src]

impl<T: ?Sized> Traverseable for GcPtr<T> where
    T: Traverseable
[src]

When traversing a GcPtr we need to mark it