Struct zerogc::epsilon::EpsilonCollectorId
source · [−]pub struct EpsilonCollectorId { /* private fields */ }
Expand description
The id for an EpsilonSystem
All epsilon collectors have the same id, regardless of the system they were originally allocated from. It is equivalent to [
Trait Implementations
sourceimpl Clone for EpsilonCollectorId
impl Clone for EpsilonCollectorId
sourcefn clone(&self) -> EpsilonCollectorId
fn clone(&self) -> EpsilonCollectorId
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl CollectorId for EpsilonCollectorId
impl CollectorId for EpsilonCollectorId
type ArrayPtr = FatArrayPtr<Self>
type ArrayPtr = FatArrayPtr<Self>
We use fat-pointers for arrays,
so that we can transmute from &'static [T]
-> GcArray
type System = EpsilonSystem
type System = EpsilonSystem
The type of the garbage collector system
type Context = EpsilonContext
type Context = EpsilonContext
The type of GcContext associated with this id.
type RawVec = EpsilonRawVec<'gc, T>
type RawVec = EpsilonRawVec<'gc, T>
sourcefn from_gc_ptr<'a, 'gc, T>(_gc: &'a Gc<'gc, T>) -> &'a Self where
T: ?Sized,
'gc: 'a,
fn from_gc_ptr<'a, 'gc, T>(_gc: &'a Gc<'gc, T>) -> &'a Self where
T: ?Sized,
'gc: 'a,
sourcefn resolve_array_id<'a, 'gc, T>(_array: &'a GcArray<'gc, T>) -> &'a Self where
'gc: 'a,
fn resolve_array_id<'a, 'gc, T>(_array: &'a GcArray<'gc, T>) -> &'a Self where
'gc: 'a,
sourcefn resolve_array_len<T>(repr: &GcArray<'_, T>) -> usize
fn resolve_array_len<T>(repr: &GcArray<'_, T>) -> usize
Resolve the length of the specified array
sourceunsafe fn gc_write_barrier<'gc, T, V>(
_owner: &Gc<'gc, T>,
_value: &Gc<'gc, V>,
_field_offset: usize
) where
T: GcSafe<'gc, Self> + ?Sized,
V: GcSafe<'gc, Self> + ?Sized,
unsafe fn gc_write_barrier<'gc, T, V>(
_owner: &Gc<'gc, T>,
_value: &Gc<'gc, V>,
_field_offset: usize
) where
T: GcSafe<'gc, Self> + ?Sized,
V: GcSafe<'gc, Self> + ?Sized,
Perform a write barrier before writing to a garbage collected field Read more
sourceunsafe fn assume_valid_system(&self) -> &Self::System
unsafe fn assume_valid_system(&self) -> &Self::System
sourceimpl ConstCollectorId for EpsilonCollectorId
impl ConstCollectorId for EpsilonCollectorId
sourcefn resolve_array_len_const<T>(repr: &GcArray<'_, T>) -> usize
fn resolve_array_len_const<T>(repr: &GcArray<'_, T>) -> usize
Resolve the length of the specified GcArray
sourceimpl Debug for EpsilonCollectorId
impl Debug for EpsilonCollectorId
sourceimpl<'gc, 'new_gc, T: GcSafe<'gc, EpsilonCollectorId>> GcRebrand<'new_gc, EpsilonCollectorId> for EpsilonRawVec<'gc, T> where
T: GcRebrand<'new_gc, EpsilonCollectorId>,
T::Branded: Sized,
impl<'gc, 'new_gc, T: GcSafe<'gc, EpsilonCollectorId>> GcRebrand<'new_gc, EpsilonCollectorId> for EpsilonRawVec<'gc, T> where
T: GcRebrand<'new_gc, EpsilonCollectorId>,
T::Branded: Sized,
type Branded = EpsilonRawVec<'new_gc, T::Branded>
type Branded = EpsilonRawVec<'new_gc, T::Branded>
This type with all garbage collected lifetimes
changed to 'new_gc
Read more
sourceimpl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for EpsilonCollectorId where
Self: 'static,
impl<'new_gc, Id: CollectorId> GcRebrand<'new_gc, Id> for EpsilonCollectorId where
Self: 'static,
sourceimpl<'gc, T: GcSafe<'gc, EpsilonCollectorId>> GcSafe<'gc, EpsilonCollectorId> for EpsilonRawVec<'gc, T> where
T: GcSafe<'gc, EpsilonCollectorId>,
T: Trace,
impl<'gc, T: GcSafe<'gc, EpsilonCollectorId>> GcSafe<'gc, EpsilonCollectorId> for EpsilonRawVec<'gc, T> where
T: GcSafe<'gc, EpsilonCollectorId>,
T: Trace,
sourceimpl<'gc, Id: CollectorId> GcSafe<'gc, Id> for EpsilonCollectorId where
Self: 'static,
impl<'gc, Id: CollectorId> GcSafe<'gc, Id> for EpsilonCollectorId where
Self: 'static,
sourceimpl Hash for EpsilonCollectorId
impl Hash for EpsilonCollectorId
sourceimpl PartialEq<EpsilonCollectorId> for EpsilonCollectorId
impl PartialEq<EpsilonCollectorId> for EpsilonCollectorId
sourcefn eq(&self, other: &EpsilonCollectorId) -> bool
fn eq(&self, other: &EpsilonCollectorId) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &EpsilonCollectorId) -> bool
fn ne(&self, other: &EpsilonCollectorId) -> bool
This method tests for !=
.
sourceimpl Trace for EpsilonCollectorId where
Self: 'static,
impl Trace for EpsilonCollectorId where
Self: 'static,
sourceconst NEEDS_TRACE: bool
const NEEDS_TRACE: bool
Whether this type needs to be traced by the garbage collector. Read more
sourceconst NEEDS_DROP: bool
const NEEDS_DROP: bool
If this type needs a destructor run. Read more
sourceimpl TraceImmutable for EpsilonCollectorId where
Self: 'static,
impl TraceImmutable for EpsilonCollectorId where
Self: 'static,
impl Copy for EpsilonCollectorId
impl Eq for EpsilonCollectorId
impl NullTrace for EpsilonCollectorId where
Self: 'static,
impl StructuralEq for EpsilonCollectorId
impl StructuralPartialEq for EpsilonCollectorId
impl TrustedDrop for EpsilonCollectorId where
Self: 'static,
Auto Trait Implementations
impl RefUnwindSafe for EpsilonCollectorId
impl Send for EpsilonCollectorId
impl Sync for EpsilonCollectorId
impl Unpin for EpsilonCollectorId
impl UnwindSafe for EpsilonCollectorId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more