Trait zerogc::GcRebrand[][src]

pub unsafe trait GcRebrand<'new_gc, Id: CollectorId>: Trace {
    type Branded: Trace + 'new_gc;
}
Expand description

Changes all references to garbage collected objects to match a specific lifetime.

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[src]

Expand description

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.

Implementations on Foreign Types

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for i8[src]

type Branded = i8

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for i16[src]

type Branded = i16

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for i32[src]

type Branded = i32

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for i64[src]

type Branded = i64

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for isize[src]

type Branded = isize

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for u8[src]

type Branded = u8

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for u16[src]

type Branded = u16

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for u32[src]

type Branded = u32

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for u64[src]

type Branded = u64

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for usize[src]

type Branded = usize

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for f32[src]

type Branded = f32

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for f64[src]

type Branded = f64

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for bool[src]

type Branded = bool

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for char[src]

type Branded = char

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for &'static str[src]

type Branded = &'static str

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for PhantomData<T> where
    T: 'new_gc, 
[src]

type Branded = Self

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for ()[src]

type Branded = ()

impl<'new_gc, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (I,) where
    I: GcRebrand<'new_gc, Id>,
    I: Trace
[src]

type Branded = (<I as GcRebrand<'new_gc, Id>>::Branded,)

impl<'new_gc, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (H, I) where
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    H: Trace,
    I: Trace
[src]

type Branded = (<H as GcRebrand<'new_gc, Id>>::Branded, <I as GcRebrand<'new_gc, Id>>::Branded)

impl<'new_gc, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (G, H, I) where
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    G: Trace,
    H: Trace,
    I: Trace
[src]

type Branded = (<G as GcRebrand<'new_gc, Id>>::Branded, <H as GcRebrand<'new_gc, Id>>::Branded, <I as GcRebrand<'new_gc, Id>>::Branded)

impl<'new_gc, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (F, G, H, I) where
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

type Branded = (<F as GcRebrand<'new_gc, Id>>::Branded, <G as GcRebrand<'new_gc, Id>>::Branded, <H as GcRebrand<'new_gc, Id>>::Branded, <I as GcRebrand<'new_gc, Id>>::Branded)

impl<'new_gc, E, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (E, F, G, H, I) where
    E: GcRebrand<'new_gc, Id>,
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    E: Trace,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

type Branded = (<E as GcRebrand<'new_gc, Id>>::Branded, <F as GcRebrand<'new_gc, Id>>::Branded, <G as GcRebrand<'new_gc, Id>>::Branded, <H as GcRebrand<'new_gc, Id>>::Branded, <I as GcRebrand<'new_gc, Id>>::Branded)

impl<'new_gc, D, E, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (D, E, F, G, H, I) where
    D: GcRebrand<'new_gc, Id>,
    E: GcRebrand<'new_gc, Id>,
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    D: Trace,
    E: Trace,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

type Branded = (<D as GcRebrand<'new_gc, Id>>::Branded, <E as GcRebrand<'new_gc, Id>>::Branded, <F as GcRebrand<'new_gc, Id>>::Branded, <G as GcRebrand<'new_gc, Id>>::Branded, <H as GcRebrand<'new_gc, Id>>::Branded, <I as GcRebrand<'new_gc, Id>>::Branded)

impl<'new_gc, C, D, E, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (C, D, E, F, G, H, I) where
    C: GcRebrand<'new_gc, Id>,
    D: GcRebrand<'new_gc, Id>,
    E: GcRebrand<'new_gc, Id>,
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    C: Trace,
    D: Trace,
    E: Trace,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

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

impl<'new_gc, B, C, D, E, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (B, C, D, E, F, G, H, I) where
    B: GcRebrand<'new_gc, Id>,
    C: GcRebrand<'new_gc, Id>,
    D: GcRebrand<'new_gc, Id>,
    E: GcRebrand<'new_gc, Id>,
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    B: Trace,
    C: Trace,
    D: Trace,
    E: Trace,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

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

impl<'new_gc, A, B, C, D, E, F, G, H, I, Id: CollectorId> GcRebrand<'new_gc, Id> for (A, B, C, D, E, F, G, H, I) where
    A: GcRebrand<'new_gc, Id>,
    B: GcRebrand<'new_gc, Id>,
    C: GcRebrand<'new_gc, Id>,
    D: GcRebrand<'new_gc, Id>,
    E: GcRebrand<'new_gc, Id>,
    F: GcRebrand<'new_gc, Id>,
    G: GcRebrand<'new_gc, Id>,
    H: GcRebrand<'new_gc, Id>,
    I: GcRebrand<'new_gc, Id>,
    A: Trace,
    B: Trace,
    C: Trace,
    D: Trace,
    E: Trace,
    F: Trace,
    G: Trace,
    H: Trace,
    I: Trace
[src]

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

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 0] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 0]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 0]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 1] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 1]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 1]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 2] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 2]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 2]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 3] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 3]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 3]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 4] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 4]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 4]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 5] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 5]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 5]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 6] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 6]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 6]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 7] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 7]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 7]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 8] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 8]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 8]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 9] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 9]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 9]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 10] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 10]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 10]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 11] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 11]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 11]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 12] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 12]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 12]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 13] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 13]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 13]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 14] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 14]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 14]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 15] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 15]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 15]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 16] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 16]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 16]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 17] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 17]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 17]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 18] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 18]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 18]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 19] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 19]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 19]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 20] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 20]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 20]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 24] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 24]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 24]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 32] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 32]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 32]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 48] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 48]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 48]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 64] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 64]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 64]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 100] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 100]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 100]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 128] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 128]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 128]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 256] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 256]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 256]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 512] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 512]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 512]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 1024] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 1024]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 1024]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 2048] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 2048]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 2048]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for [T; 4096] where
    [<T as GcRebrand<'new_gc, Id>>::Branded; 4096]: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = [<T as GcRebrand<'new_gc, Id>>::Branded; 4096]

impl<'a, 'new_gc, T: 'a, Id: CollectorId> GcRebrand<'new_gc, Id> for &'a T where
    T: NullTrace,
    'a: 'new_gc,
    T: TraceImmutable
[src]

type Branded = &'a T

impl<'a, 'new_gc, T: 'a, Id: CollectorId> GcRebrand<'new_gc, Id> for &'a mut T where
    T: NullTrace,
    'a: 'new_gc,
    T: Trace
[src]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for Option<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Option<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for Wrapping<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Wrapping<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for Vec<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Vec<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for Box<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: GcRebrand<'new_gc, Id>,
    T: GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Box<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T: TraceImmutable, Id: CollectorId> GcRebrand<'new_gc, Id> for Rc<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Rc<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T: TraceImmutable, Id: CollectorId> GcRebrand<'new_gc, Id> for Arc<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = Arc<<T as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for String[src]

impl<'new_gc, K: TraceImmutable, V, Id: CollectorId> GcRebrand<'new_gc, Id> for HashMap<K, V> where
    <K as GcRebrand<'new_gc, Id>>::Branded: TraceImmutable + GcRebrand<'new_gc, Id>,
    K: TraceImmutable + GcRebrand<'new_gc, Id>,
    <V as GcRebrand<'new_gc, Id>>::Branded: GcRebrand<'new_gc, Id>,
    V: GcRebrand<'new_gc, Id>,
    K: Trace,
    V: Trace
[src]

type Branded = HashMap<<K as GcRebrand<'new_gc, Id>>::Branded, <V as GcRebrand<'new_gc, Id>>::Branded>

impl<'new_gc, T: TraceImmutable, Id: CollectorId> GcRebrand<'new_gc, Id> for HashSet<T> where
    <T as GcRebrand<'new_gc, Id>>::Branded: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: TraceImmutable + GcRebrand<'new_gc, Id>,
    T: Trace
[src]

type Branded = HashSet<<T as GcRebrand<'new_gc, Id>>::Branded>

Implementors

impl<'gc, 'new_gc, T: GcSafe + 'gc, Id: CollectorId> GcRebrand<'new_gc, Id> for DummyGc<'gc, T> where
    T: GcRebrand<'new_gc, Id>,
    T::Branded: GcSafe,
    T: Trace
[src]

type Branded = DummyGc<'new_gc, T::Branded>

impl<'new_gc, T, Id> GcRebrand<'new_gc, Id> for GcCell<T> where
    T: Trace + Copy + GcRebrand<'new_gc, Id>,
    Id: CollectorId,
    T::Branded: Copy + Trace
[src]

impl<'new_gc, T, Id: CollectorId> GcRebrand<'new_gc, Id> for AssumeNotTraced<T> where
    T: 'new_gc, 
[src]