Trait zerogc::GcHandleSystem [−][src]
pub unsafe trait GcHandleSystem<'gc, 'a, T: GcSafe + ?Sized + 'gc>: GcSystem where
T: GcErase<'a, Self::Id>,
<T as GcErase<'a, Self::Id>>::Erased: GcSafe, { type Handle: GcHandle<<T as GcErase<'a, Self::Id>>::Erased, System = Self>; type Gc: GcRef<'gc, T, Id = Self::Id>; }
Expand description
A system which supports creating handles to [Gc] references.
This type-system hackery is needed because
we need to place bounds on T as GcBrand
Associated Types
type Handle: GcHandle<<T as GcErase<'a, Self::Id>>::Erased, System = Self>
[src]
Expand description
The type of handles to this object.
type Gc: GcRef<'gc, T, Id = Self::Id>
[src]
Expand description
The type of garbag e collected pointers to this object.