[−][src]Trait zerogc::GcErase
Indicates that it's safe to erase all GC lifetimes and change them to 'static (logically an 'unsafe)
This trait is the opposite of GcRebrand
The lifetime 'a
is the minimum lifetime of all other non-gc references.
Associated Types
type Erased: 'a
[src]
This type with all garbage collected lifetimes
changed to 'static
(or erased)
This must have the same in-memory repr as Self
,
so that it's safe to transmute.
Implementations on Foreign Types
impl<'a, Id: CollectorId> GcErase<'a, Id> for i8
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for i16
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for i32
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for i64
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for isize
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for u8
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for u16
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for u32
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for u64
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for usize
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for f32
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for f64
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for bool
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for char
[src]
type Erased = Self
impl<'a, Id: CollectorId> GcErase<'a, Id> for &'static str
[src]
type Erased = Self
impl<'a, Id> GcErase<'a, Id> for () where
Id: CollectorId,
[src]
Id: CollectorId,
impl<'a, Id, A> GcErase<'a, Id> for (A,) where
Id: CollectorId,
A: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, A, B> GcErase<'a, Id> for (A, B) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, A, B, C> GcErase<'a, Id> for (A, B, C) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D> GcErase<'a, Id> for (A, B, C, D) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D, E> GcErase<'a, Id> for (A, B, C, D, E) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased, <E as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D, E, F> GcErase<'a, Id> for (A, B, C, D, E, F) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased, <E as GcErase<'a, Id>>::Erased, <F as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D, E, F, G> GcErase<'a, Id> for (A, B, C, D, E, F, G) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased, <E as GcErase<'a, Id>>::Erased, <F as GcErase<'a, Id>>::Erased, <G as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D, E, F, G, H> GcErase<'a, Id> for (A, B, C, D, E, F, G, H) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
H: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
<H as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
H: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
<H as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased, <E as GcErase<'a, Id>>::Erased, <F as GcErase<'a, Id>>::Erased, <G as GcErase<'a, Id>>::Erased, <H as GcErase<'a, Id>>::Erased)
impl<'a, Id, A, B, C, D, E, F, G, H, I> GcErase<'a, Id> for (A, B, C, D, E, F, G, H, I) where
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
H: GcErase<'a, Id>,
I: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
<H as GcErase<'a, Id>>::Erased: Sized,
<I as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
A: GcErase<'a, Id>,
B: GcErase<'a, Id>,
C: GcErase<'a, Id>,
D: GcErase<'a, Id>,
E: GcErase<'a, Id>,
F: GcErase<'a, Id>,
G: GcErase<'a, Id>,
H: GcErase<'a, Id>,
I: GcErase<'a, Id>,
<A as GcErase<'a, Id>>::Erased: Sized,
<B as GcErase<'a, Id>>::Erased: Sized,
<C as GcErase<'a, Id>>::Erased: Sized,
<D as GcErase<'a, Id>>::Erased: Sized,
<E as GcErase<'a, Id>>::Erased: Sized,
<F as GcErase<'a, Id>>::Erased: Sized,
<G as GcErase<'a, Id>>::Erased: Sized,
<H as GcErase<'a, Id>>::Erased: Sized,
<I as GcErase<'a, Id>>::Erased: Sized,
type Erased = (<A as GcErase<'a, Id>>::Erased, <B as GcErase<'a, Id>>::Erased, <C as GcErase<'a, Id>>::Erased, <D as GcErase<'a, Id>>::Erased, <E as GcErase<'a, Id>>::Erased, <F as GcErase<'a, Id>>::Erased, <G as GcErase<'a, Id>>::Erased, <H as GcErase<'a, Id>>::Erased, <I as GcErase<'a, Id>>::Erased)
impl<'a, Id, T> GcErase<'a, Id> for [T; 0] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 1] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 2] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 3] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 4] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 5] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 6] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 7] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 8] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 9] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 10] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 11] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 12] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 13] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 14] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 15] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 16] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 17] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 18] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 19] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 20] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 24] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 32] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 48] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 64] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 100] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 128] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 256] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 512] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 1024] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 2048] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for [T; 4096] where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, T> GcErase<'a, Id> for &'a T where
Id: CollectorId,
T: NullTrace,
[src]
Id: CollectorId,
T: NullTrace,
See impl of GcRebrand
for why we require T: NullTrace
impl<'a, Id, T> GcErase<'a, Id> for &'a mut T where
Id: CollectorId,
T: NullTrace,
[src]
Id: CollectorId,
T: NullTrace,
TODO: We currently require NullTrace for T
impl<'a, Id, T> GcErase<'a, Id> for Option<T> where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
impl<'a, Id, T> GcErase<'a, Id> for Wrapping<T> where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
impl<'a, Id, T> GcErase<'a, Id> for Vec<T> where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
impl<'a, Id, T> GcErase<'a, Id> for Box<T> where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
impl<'a, Id, T> GcErase<'a, Id> for Rc<T> where
Id: CollectorId,
T: GcErase<'a, Id> + TraceImmutable,
<T as GcErase<'a, Id>>::Erased: TraceImmutable,
[src]
Id: CollectorId,
T: GcErase<'a, Id> + TraceImmutable,
<T as GcErase<'a, Id>>::Erased: TraceImmutable,
impl<'a, Id, T> GcErase<'a, Id> for Arc<T> where
Id: CollectorId,
T: GcErase<'a, Id> + TraceImmutable,
<T as GcErase<'a, Id>>::Erased: TraceImmutable,
[src]
Id: CollectorId,
T: GcErase<'a, Id> + TraceImmutable,
<T as GcErase<'a, Id>>::Erased: TraceImmutable,
impl<'a, Id: CollectorId> GcErase<'a, Id> for String
[src]
type Erased = Self
impl<'a, Id, K, V> GcErase<'a, Id> for HashMap<K, V> where
Id: CollectorId,
K: TraceImmutable + GcErase<'a, Id>,
V: GcErase<'a, Id>,
<K as GcErase<'a, Id>>::Erased: TraceImmutable + Sized,
<V as GcErase<'a, Id>>::Erased: Sized,
[src]
Id: CollectorId,
K: TraceImmutable + GcErase<'a, Id>,
V: GcErase<'a, Id>,
<K as GcErase<'a, Id>>::Erased: TraceImmutable + Sized,
<V as GcErase<'a, Id>>::Erased: Sized,
impl<'a, Id, V> GcErase<'a, Id> for HashSet<V> where
Id: CollectorId,
V: GcErase<'a, Id> + TraceImmutable,
<V as GcErase<'a, Id>>::Erased: TraceImmutable,
[src]
Loading content...Id: CollectorId,
V: GcErase<'a, Id> + TraceImmutable,
<V as GcErase<'a, Id>>::Erased: TraceImmutable,
Implementors
impl<'a, Id, T> GcErase<'a, Id> for AssumeNotTraced<T> where
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
[src]
Id: CollectorId,
T: GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: Trace,
type Erased = AssumeNotTraced<<T as GcErase<'a, Id>>::Erased>
impl<'gc, 'a, T, Id> GcErase<'a, Id> for Gc<'gc, T, Id> where
T: GcSafe + GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: GcSafe,
Id: CollectorId,
[src]
T: GcSafe + GcErase<'a, Id>,
<T as GcErase<'a, Id>>::Erased: GcSafe,
Id: CollectorId,
impl<'min, T, Id> GcErase<'min, Id> for GcCell<T> where
T: Trace + Copy + GcErase<'min, Id>,
Id: CollectorId,
T::Erased: Copy + Trace,
[src]
T: Trace + Copy + GcErase<'min, Id>,
Id: CollectorId,
T::Erased: Copy + Trace,