pub trait Track: Validate + Surfaces {
// Provided methods
fn track(&self) -> Tracked<'_, Self> { ... }
fn track_mut(&mut self) -> TrackedMut<'_, Self> { ... }
fn track_with<'a>(
&'a self,
constraint: &'a Self::Constraint,
) -> Tracked<'a, Self> { ... }
fn track_mut_with<'a>(
&'a mut self,
constraint: &'a Self::Constraint,
) -> TrackedMut<'a, Self> { ... }
}Expand description
A trackable type.
This is implemented by types that have an implementation block annotated
with #[track] and for trait objects whose traits are annotated with
#[track]. For more details, see its documentation.
Provided Methods§
Sourcefn track_mut(&mut self) -> TrackedMut<'_, Self>
fn track_mut(&mut self) -> TrackedMut<'_, Self>
Start tracking all accesses and mutations to a value.
Sourcefn track_with<'a>(
&'a self,
constraint: &'a Self::Constraint,
) -> Tracked<'a, Self>
fn track_with<'a>( &'a self, constraint: &'a Self::Constraint, ) -> Tracked<'a, Self>
Start tracking all accesses into a constraint.
Sourcefn track_mut_with<'a>(
&'a mut self,
constraint: &'a Self::Constraint,
) -> TrackedMut<'a, Self>
fn track_mut_with<'a>( &'a mut self, constraint: &'a Self::Constraint, ) -> TrackedMut<'a, Self>
Start tracking all accesses and mutations into a constraint.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.