pub struct TraceSnapshot<'a, T> { /* private fields */ }Expand description
An immutable, complete tracing view taken at a safepoint.
Implementations§
Source§impl<T: ManagedObject> TraceSnapshot<'_, T>
impl<T: ManagedObject> TraceSnapshot<'_, T>
Sourcepub const fn mutation_epoch(&self) -> u64
pub const fn mutation_epoch(&self) -> u64
Returns the arena mutation epoch captured by this snapshot.
Sourcepub fn roots(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
pub fn roots(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
Enumerates roots in root-registration order.
Sourcepub fn kept_alive(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
pub fn kept_alive(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
Enumerates successful weak dereferences kept alive for this epoch.
Sourcepub fn objects(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
pub fn objects(&self) -> impl ExactSizeIterator<Item = ManagedId> + '_
Enumerates live objects in allocation order.
Sourcepub fn visit_edges(
&self,
owner: ManagedId,
visitor: &mut dyn EdgeVisitor,
) -> Result<(), ArenaError>
pub fn visit_edges( &self, owner: ManagedId, visitor: &mut dyn EdgeVisitor, ) -> Result<(), ArenaError>
Visits all edges for a live object.
Auto Trait Implementations§
impl<'a, T> Freeze for TraceSnapshot<'a, T>
impl<'a, T> RefUnwindSafe for TraceSnapshot<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for TraceSnapshot<'a, T>where
T: Sync,
impl<'a, T> Sync for TraceSnapshot<'a, T>where
T: Sync,
impl<'a, T> Unpin for TraceSnapshot<'a, T>
impl<'a, T> UnsafeUnpin for TraceSnapshot<'a, T>
impl<'a, T> UnwindSafe for TraceSnapshot<'a, T>where
T: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more