pub trait ManagedObject {
// Required methods
fn trace_edges(&self, visitor: &mut dyn EdgeVisitor);
fn clear_weak_edge(&mut self, edge: EdgeId, expected: ManagedId) -> bool;
// Provided method
fn clear_ephemeron_edge(
&mut self,
_edge: EdgeId,
_expected_key: ManagedId,
_expected_value: ManagedId,
) -> bool { ... }
}Expand description
An object stored by ManagedArena.
Required Methods§
Sourcefn trace_edges(&self, visitor: &mut dyn EdgeVisitor)
fn trace_edges(&self, visitor: &mut dyn EdgeVisitor)
Enumerates all strong, weak, and ephemeron edges exactly once.
Sourcefn clear_weak_edge(&mut self, edge: EdgeId, expected: ManagedId) -> bool
fn clear_weak_edge(&mut self, edge: EdgeId, expected: ManagedId) -> bool
Clears one weak edge if it still points at expected.
Returning true means this invocation performed the clear. Repeating
the same request must return false, giving collectors at-most-once
weak-clear semantics.
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".