[][src]Trait zerogc::GcBrand

pub unsafe trait GcBrand<'new_gc, S: GcSystem>: Trace {
    type Branded: Trace + 'new_gc;
}

Changes all references to garbage collected objects to match 'new_gc.

This indicates that its safe to transmute to the new Branded type and all that will change is the lifetimes.

Associated Types

type Branded: Trace + 'new_gc

This type with all garbage collected lifetimes changed to 'new_gc

This must have the same in-memory repr as Self, so that it's safe to transmute.

Loading content...

Implementations on Foreign Types

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for i8[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for i16[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for i32[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for i64[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for isize[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for u8[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for u16[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for u32[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for u64[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for usize[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for f32[src]

type Branded = Self

impl<'new_gc, S: GcSystem> GcBrand<'new_gc, S> for f64[src]

type Branded = Self

impl<'new_gc, Id> GcBrand<'new_gc, Id> for () where
    Id: GcSystem
[src]

type Branded = ()

impl<'new_gc, Id, A> GcBrand<'new_gc, Id> for (A,) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded,)

impl<'new_gc, Id, A, B> GcBrand<'new_gc, Id> for (A, B) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C> GcBrand<'new_gc, Id> for (A, B, C) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D> GcBrand<'new_gc, Id> for (A, B, C, D) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D, E> GcBrand<'new_gc, Id> for (A, B, C, D, E) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    E: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized,
    <E as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded, <E as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D, E, F> GcBrand<'new_gc, Id> for (A, B, C, D, E, F) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    E: GcBrand<'new_gc, Id>,
    F: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized,
    <E as GcBrand<'new_gc, Id>>::Branded: Sized,
    <F as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded, <E as GcBrand<'new_gc, Id>>::Branded, <F as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D, E, F, G> GcBrand<'new_gc, Id> for (A, B, C, D, E, F, G) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    E: GcBrand<'new_gc, Id>,
    F: GcBrand<'new_gc, Id>,
    G: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized,
    <E as GcBrand<'new_gc, Id>>::Branded: Sized,
    <F as GcBrand<'new_gc, Id>>::Branded: Sized,
    <G as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded, <E as GcBrand<'new_gc, Id>>::Branded, <F as GcBrand<'new_gc, Id>>::Branded, <G as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D, E, F, G, H> GcBrand<'new_gc, Id> for (A, B, C, D, E, F, G, H) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    E: GcBrand<'new_gc, Id>,
    F: GcBrand<'new_gc, Id>,
    G: GcBrand<'new_gc, Id>,
    H: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized,
    <E as GcBrand<'new_gc, Id>>::Branded: Sized,
    <F as GcBrand<'new_gc, Id>>::Branded: Sized,
    <G as GcBrand<'new_gc, Id>>::Branded: Sized,
    <H as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded, <E as GcBrand<'new_gc, Id>>::Branded, <F as GcBrand<'new_gc, Id>>::Branded, <G as GcBrand<'new_gc, Id>>::Branded, <H as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, Id, A, B, C, D, E, F, G, H, I> GcBrand<'new_gc, Id> for (A, B, C, D, E, F, G, H, I) where
    Id: GcSystem,
    A: GcBrand<'new_gc, Id>,
    B: GcBrand<'new_gc, Id>,
    C: GcBrand<'new_gc, Id>,
    D: GcBrand<'new_gc, Id>,
    E: GcBrand<'new_gc, Id>,
    F: GcBrand<'new_gc, Id>,
    G: GcBrand<'new_gc, Id>,
    H: GcBrand<'new_gc, Id>,
    I: GcBrand<'new_gc, Id>,
    <A as GcBrand<'new_gc, Id>>::Branded: Sized,
    <B as GcBrand<'new_gc, Id>>::Branded: Sized,
    <C as GcBrand<'new_gc, Id>>::Branded: Sized,
    <D as GcBrand<'new_gc, Id>>::Branded: Sized,
    <E as GcBrand<'new_gc, Id>>::Branded: Sized,
    <F as GcBrand<'new_gc, Id>>::Branded: Sized,
    <G as GcBrand<'new_gc, Id>>::Branded: Sized,
    <H as GcBrand<'new_gc, Id>>::Branded: Sized,
    <I as GcBrand<'new_gc, Id>>::Branded: Sized
[src]

type Branded = (<A as GcBrand<'new_gc, Id>>::Branded, <B as GcBrand<'new_gc, Id>>::Branded, <C as GcBrand<'new_gc, Id>>::Branded, <D as GcBrand<'new_gc, Id>>::Branded, <E as GcBrand<'new_gc, Id>>::Branded, <F as GcBrand<'new_gc, Id>>::Branded, <G as GcBrand<'new_gc, Id>>::Branded, <H as GcBrand<'new_gc, Id>>::Branded, <I as GcBrand<'new_gc, Id>>::Branded)

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 0] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 0]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 1] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 1]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 2] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 2]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 3] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 3]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 4] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 4]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 5] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 5]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 6] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 6]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 7] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 7]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 8] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 8]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 9] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 9]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 10] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 10]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 11] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 11]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 12] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 12]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 13] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 13]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 14] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 14]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 15] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 15]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 16] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 16]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 17] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 17]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 18] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 18]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 19] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 19]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 20] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 20]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 24] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 24]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 32] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 32]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 48] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 48]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 64] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 64]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 100] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 100]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 128] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 128]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 256] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 256]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 512] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 512]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 1024] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 1024]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 2048] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 2048]

impl<'new_gc, S: GcSystem, T> GcBrand<'new_gc, S> for [T; 4096] where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = [<T as GcBrand<'new_gc, S>>::Branded; 4096]

impl<'a: 'new_gc, 'new_gc, S: GcSystem, T: NullTrace> GcBrand<'new_gc, S> for &'a T[src]

TODO: Right now we can only rebrand unmanaged types (NullTrace)

type Branded = Self

impl<'a, 'new_gc, S, T> GcBrand<'new_gc, S> for &'a mut T where
    'a: 'new_gc,
    S: GcSystem,
    T: GcBrand<'new_gc, S>, 
[src]

TODO: Right now we can only rebrand unmanaged types (NullTrace)

type Branded = &'new_gc mut <T as GcBrand<'new_gc, S>>::Branded

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Vec<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Trace
[src]

type Branded = Vec<<T as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Box<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Trace
[src]

type Branded = Box<<T as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Rc<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S> + TraceImmutable,
    <T as GcBrand<'new_gc, S>>::Branded: TraceImmutable
[src]

type Branded = Rc<<T as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Arc<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S> + TraceImmutable,
    <T as GcBrand<'new_gc, S>>::Branded: TraceImmutable
[src]

type Branded = Arc<<T as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Wrapping<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Trace
[src]

type Branded = Wrapping<<T as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, K, V> GcBrand<'new_gc, S> for HashMap<K, V> where
    S: GcSystem,
    K: TraceImmutable + GcBrand<'new_gc, S>,
    V: GcBrand<'new_gc, S>,
    <K as GcBrand<'new_gc, S>>::Branded: TraceImmutable + Sized,
    <V as GcBrand<'new_gc, S>>::Branded: Sized
[src]

type Branded = HashMap<<K as GcBrand<'new_gc, S>>::Branded, <V as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, V> GcBrand<'new_gc, S> for HashSet<V> where
    S: GcSystem,
    V: GcBrand<'new_gc, S> + TraceImmutable,
    <V as GcBrand<'new_gc, S>>::Branded: TraceImmutable
[src]

type Branded = HashSet<<V as GcBrand<'new_gc, S>>::Branded>

impl<'new_gc, S, T> GcBrand<'new_gc, S> for Option<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Trace
[src]

type Branded = Option<<T as GcBrand<'new_gc, S>>::Branded>

Loading content...

Implementors

impl<'new_gc, S, T> GcBrand<'new_gc, S> for AssumeNotTraced<T> where
    S: GcSystem,
    T: GcBrand<'new_gc, S>,
    <T as GcBrand<'new_gc, S>>::Branded: Trace
[src]

type Branded = AssumeNotTraced<<T as GcBrand<'new_gc, S>>::Branded>

Loading content...