[][src]Struct zerogc_context::CollectorContext

pub struct CollectorContext<C: RawCollectorImpl> { /* fields omitted */ }

Implementations

impl<C: RawCollectorImpl> CollectorContext<C>[src]

pub fn collector(&self) -> &C[src]

Trait Implementations

impl<C: RawCollectorImpl> Drop for CollectorContext<C>[src]

impl<C: RawCollectorImpl> GcContext for CollectorContext<C>[src]

type System = CollectorRef<C>

The system used with this context

type Id = CollectorId<C>

The type of ids used in the system

impl<'gc, T, C> GcSimpleAlloc<'gc, T> for CollectorContext<C> where
    T: GcSafe + 'gc,
    C: RawSimpleAlloc
[src]

impl<C: RawCollectorImpl> !Send for CollectorContext<C>[src]

It's not safe for a context to be sent across threads.

We use (thread-unsafe) interior mutability to maintain the shadow stack. Since we could potentially be cloned via safepoint_recurse!, implementing Send would allow another thread to obtain a reference to our internal &RefCell. Further mutation/access would be undefined.....

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

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

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.