Handle value given by arena callbacks during garbage collection, which must be passed through
Collect::trace
implementations.
An unbranded, reference-counted handle to a GC root held in some
DynamicRootSet
.
A way of registering GC roots dynamically.
Handle value given to finalization callbacks in MarkedArena
.
A garbage collected pointer to a type T. Implements Copy, and is implemented as a plain machine
pointer. You can only allocate Gc
pointers through a &Mutation<'gc>
inside an arena type,
and through “generativity” such Gc
pointers may not escape the arena they were born in or
be stored inside TLS. This, combined with correct Collect
implementations, means that Gc
pointers will never be dangling and are always safe to access.
Handle value given by arena callbacks during construction and mutation. Allows allocating new
Gc
pointers and internally mutating values held by Gc
pointers.
A wrapper type that implements Collect whenever the contained T is ’static, which is useful in
generic contexts