[][src]Trait zerogc::GcCreateHandle

pub unsafe trait GcCreateHandle<'gc, T: GcSafe + 'gc>: GcRef<'gc, T> where
    T: GcBrand<'static, Self::System>,
    <T as GcBrand<'static, Self::System>>::Branded: GcSafe
{ type Handle: GcHandle<<T as GcBrand<'static, Self::System>>::Branded>; fn create_handle(&self) -> Self::Handle; }

The trait to create GcHandles to a GcRef.

This type-system hackery is needed because we need to place bounds on T as GcBrand

TODO: Remove when we get more powerful types

Associated Types

type Handle: GcHandle<<T as GcBrand<'static, Self::System>>::Branded>

The type of handles to this object.

Loading content...

Required methods

fn create_handle(&self) -> Self::Handle

Create a handle to this object, which can be used without a context

Loading content...

Implementors

Loading content...