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.

Implementors