Trait zerogc::GcErase [−][src]
pub unsafe trait GcErase<'a, Id: CollectorId>: Trace { type Erased: 'a; }
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<'min, T, Id: CollectorId> GcErase<'min, Id> for PhantomData<T> where
T: 'min,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for PhantomData<T> where
T: 'min,
[src]type Erased = Self
impl<'min, I, Id: CollectorId> GcErase<'min, Id> for (I,) where
I: GcErase<'min, Id>,
I: Trace,
[src]
impl<'min, I, Id: CollectorId> GcErase<'min, Id> for (I,) where
I: GcErase<'min, Id>,
I: Trace,
[src]impl<'min, H, I, Id: CollectorId> GcErase<'min, Id> for (H, I) where
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
H: Trace,
I: Trace,
[src]
impl<'min, H, I, Id: CollectorId> GcErase<'min, Id> for (H, I) where
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
H: Trace,
I: Trace,
[src]impl<'min, G, H, I, Id: CollectorId> GcErase<'min, Id> for (G, H, I) where
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, G, H, I, Id: CollectorId> GcErase<'min, Id> for (G, H, I) where
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (F, G, H, I) where
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (F, G, H, I) where
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (E, F, G, H, I) where
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (E, F, G, H, I) where
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (D, E, F, G, H, I) where
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (D, E, F, G, H, I) where
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (C, D, E, F, G, H, I) where
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (C, D, E, F, G, H, I) where
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, B, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (B, C, D, E, F, G, H, I) where
B: GcErase<'min, Id>,
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
B: Trace,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, B, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (B, C, D, E, F, G, H, I) where
B: GcErase<'min, Id>,
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
B: Trace,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]impl<'min, A, B, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (A, B, C, D, E, F, G, H, I) where
A: GcErase<'min, Id>,
B: GcErase<'min, Id>,
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
A: Trace,
B: Trace,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]
impl<'min, A, B, C, D, E, F, G, H, I, Id: CollectorId> GcErase<'min, Id> for (A, B, C, D, E, F, G, H, I) where
A: GcErase<'min, Id>,
B: GcErase<'min, Id>,
C: GcErase<'min, Id>,
D: GcErase<'min, Id>,
E: GcErase<'min, Id>,
F: GcErase<'min, Id>,
G: GcErase<'min, Id>,
H: GcErase<'min, Id>,
I: GcErase<'min, Id>,
A: Trace,
B: Trace,
C: Trace,
D: Trace,
E: Trace,
F: Trace,
G: Trace,
H: Trace,
I: Trace,
[src]type Erased = (<A as GcErase<'min, Id>>::Erased, <B as GcErase<'min, Id>>::Erased, <C as GcErase<'min, Id>>::Erased, <D as GcErase<'min, Id>>::Erased, <E as GcErase<'min, Id>>::Erased, <F as GcErase<'min, Id>>::Erased, <G as GcErase<'min, Id>>::Erased, <H as GcErase<'min, Id>>::Erased, <I as GcErase<'min, Id>>::Erased)
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 0] where
[<T as GcErase<'min, Id>>::Erased; 0]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 0] where
[<T as GcErase<'min, Id>>::Erased; 0]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 1] where
[<T as GcErase<'min, Id>>::Erased; 1]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 1] where
[<T as GcErase<'min, Id>>::Erased; 1]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 2] where
[<T as GcErase<'min, Id>>::Erased; 2]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 2] where
[<T as GcErase<'min, Id>>::Erased; 2]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 3] where
[<T as GcErase<'min, Id>>::Erased; 3]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 3] where
[<T as GcErase<'min, Id>>::Erased; 3]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 4] where
[<T as GcErase<'min, Id>>::Erased; 4]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 4] where
[<T as GcErase<'min, Id>>::Erased; 4]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 5] where
[<T as GcErase<'min, Id>>::Erased; 5]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 5] where
[<T as GcErase<'min, Id>>::Erased; 5]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 6] where
[<T as GcErase<'min, Id>>::Erased; 6]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 6] where
[<T as GcErase<'min, Id>>::Erased; 6]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 7] where
[<T as GcErase<'min, Id>>::Erased; 7]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 7] where
[<T as GcErase<'min, Id>>::Erased; 7]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 8] where
[<T as GcErase<'min, Id>>::Erased; 8]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 8] where
[<T as GcErase<'min, Id>>::Erased; 8]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 9] where
[<T as GcErase<'min, Id>>::Erased; 9]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 9] where
[<T as GcErase<'min, Id>>::Erased; 9]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 10] where
[<T as GcErase<'min, Id>>::Erased; 10]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 10] where
[<T as GcErase<'min, Id>>::Erased; 10]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 11] where
[<T as GcErase<'min, Id>>::Erased; 11]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 11] where
[<T as GcErase<'min, Id>>::Erased; 11]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 12] where
[<T as GcErase<'min, Id>>::Erased; 12]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 12] where
[<T as GcErase<'min, Id>>::Erased; 12]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 13] where
[<T as GcErase<'min, Id>>::Erased; 13]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 13] where
[<T as GcErase<'min, Id>>::Erased; 13]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 14] where
[<T as GcErase<'min, Id>>::Erased; 14]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 14] where
[<T as GcErase<'min, Id>>::Erased; 14]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 15] where
[<T as GcErase<'min, Id>>::Erased; 15]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 15] where
[<T as GcErase<'min, Id>>::Erased; 15]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 16] where
[<T as GcErase<'min, Id>>::Erased; 16]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 16] where
[<T as GcErase<'min, Id>>::Erased; 16]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 17] where
[<T as GcErase<'min, Id>>::Erased; 17]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 17] where
[<T as GcErase<'min, Id>>::Erased; 17]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 18] where
[<T as GcErase<'min, Id>>::Erased; 18]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 18] where
[<T as GcErase<'min, Id>>::Erased; 18]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 19] where
[<T as GcErase<'min, Id>>::Erased; 19]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 19] where
[<T as GcErase<'min, Id>>::Erased; 19]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 20] where
[<T as GcErase<'min, Id>>::Erased; 20]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 20] where
[<T as GcErase<'min, Id>>::Erased; 20]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 24] where
[<T as GcErase<'min, Id>>::Erased; 24]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 24] where
[<T as GcErase<'min, Id>>::Erased; 24]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 32] where
[<T as GcErase<'min, Id>>::Erased; 32]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 32] where
[<T as GcErase<'min, Id>>::Erased; 32]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 48] where
[<T as GcErase<'min, Id>>::Erased; 48]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 48] where
[<T as GcErase<'min, Id>>::Erased; 48]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 64] where
[<T as GcErase<'min, Id>>::Erased; 64]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 64] where
[<T as GcErase<'min, Id>>::Erased; 64]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 100] where
[<T as GcErase<'min, Id>>::Erased; 100]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 100] where
[<T as GcErase<'min, Id>>::Erased; 100]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 128] where
[<T as GcErase<'min, Id>>::Erased; 128]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 128] where
[<T as GcErase<'min, Id>>::Erased; 128]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 256] where
[<T as GcErase<'min, Id>>::Erased; 256]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 256] where
[<T as GcErase<'min, Id>>::Erased; 256]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 512] where
[<T as GcErase<'min, Id>>::Erased; 512]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 512] where
[<T as GcErase<'min, Id>>::Erased; 512]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 1024] where
[<T as GcErase<'min, Id>>::Erased; 1024]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 1024] where
[<T as GcErase<'min, Id>>::Erased; 1024]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 2048] where
[<T as GcErase<'min, Id>>::Erased; 2048]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 2048] where
[<T as GcErase<'min, Id>>::Erased; 2048]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 4096] where
[<T as GcErase<'min, Id>>::Erased; 4096]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for [T; 4096] where
[<T as GcErase<'min, Id>>::Erased; 4096]: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'a, 'min, T: 'a, Id: CollectorId> GcErase<'min, Id> for &'a T where
T: NullTrace,
'a: 'min,
T: TraceImmutable,
[src]
impl<'a, 'min, T: 'a, Id: CollectorId> GcErase<'min, Id> for &'a T where
T: NullTrace,
'a: 'min,
T: TraceImmutable,
[src]impl<'a, 'min, T: 'a, Id: CollectorId> GcErase<'min, Id> for &'a mut T where
T: NullTrace,
'a: 'min,
T: Trace,
[src]
impl<'a, 'min, T: 'a, Id: CollectorId> GcErase<'min, Id> for &'a mut T where
T: NullTrace,
'a: 'min,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Option<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Option<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Wrapping<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Wrapping<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Vec<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Vec<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Box<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for Box<T> where
<T as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
T: GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for Rc<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for Rc<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for Arc<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for Arc<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]impl<'min, K: TraceImmutable, V, Id: CollectorId> GcErase<'min, Id> for HashMap<K, V> where
<K as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
K: TraceImmutable + GcErase<'min, Id>,
<V as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
V: GcErase<'min, Id>,
K: Trace,
V: Trace,
[src]
impl<'min, K: TraceImmutable, V, Id: CollectorId> GcErase<'min, Id> for HashMap<K, V> where
<K as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
K: TraceImmutable + GcErase<'min, Id>,
<V as GcErase<'min, Id>>::Erased: GcErase<'min, Id>,
V: GcErase<'min, Id>,
K: Trace,
V: Trace,
[src]impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for HashSet<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]
impl<'min, T: TraceImmutable, Id: CollectorId> GcErase<'min, Id> for HashSet<T> where
<T as GcErase<'min, Id>>::Erased: TraceImmutable + GcErase<'min, Id>,
T: TraceImmutable + GcErase<'min, Id>,
T: Trace,
[src]Implementors
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]
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]impl<'min, T, Id> GcErase<'min, Id> for GcCell<T> where
T: Trace + Copy + GcErase<'min, Id>,
Id: CollectorId,
T::Erased: Copy + Trace,
[src]
impl<'min, T, Id> GcErase<'min, Id> for GcCell<T> where
T: Trace + Copy + GcErase<'min, Id>,
Id: CollectorId,
T::Erased: Copy + Trace,
[src]impl<'min, T, Id: CollectorId> GcErase<'min, Id> for AssumeNotTraced<T> where
T: 'min,
[src]
impl<'min, T, Id: CollectorId> GcErase<'min, Id> for AssumeNotTraced<T> where
T: 'min,
[src]