pub struct MutateCallbacks<State, Link, Marker> { /* private fields */ }Expand description
A reusable typed-dispatch or callback mutator with shared user state.
Implementations§
Source§impl<State, Link, Marker> MutateCallbacks<State, Link, Marker>where
Link: MutateChainLink<State, Marker>,
impl<State, Link, Marker> MutateCallbacks<State, Link, Marker>where
Link: MutateChainLink<State, Marker>,
Source§impl<State, Link, Marker> MutateCallbacks<State, Link, Marker>
impl<State, Link, Marker> MutateCallbacks<State, Link, Marker>
Sourcepub fn state_mut(&mut self) -> &mut State
pub fn state_mut(&mut self) -> &mut State
Mutable access to callback state outside an active recursive call.
Sourcepub fn into_state(self) -> State
pub fn into_state(self) -> State
Consume the mutator and return its state.
Trait Implementations§
Source§impl<State, Link, Marker> StructuralMutator for MutateCallbacks<State, Link, Marker>where
Link: MutateChainLink<State, Marker>,
Link::Strategy: MutateCallbackStrategy<State, Link, Marker>,
impl<State, Link, Marker> StructuralMutator for MutateCallbacks<State, Link, Marker>where
Link: MutateChainLink<State, Marker>,
Link::Strategy: MutateCallbackStrategy<State, Link, Marker>,
Source§fn dispatch_mutate(
&mut self,
value: &MapValue,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn dispatch_mutate( &mut self, value: &MapValue, def_region_kind: DefRegionKind, ) -> Result<Any>
Dispatch one borrowed value without modifying its source storage. Read more
Source§fn dispatch_maybe_inplace_mutate(
&mut self,
value: InplaceValue<'_>,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn dispatch_maybe_inplace_mutate( &mut self, value: InplaceValue<'_>, def_region_kind: DefRegionKind, ) -> Result<Any>
Dispatch one value for which the engine permits an in-place attempt. Read more
Source§fn mutate<T>(
&mut self,
value: &T,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn mutate<T>( &mut self, value: &T, def_region_kind: DefRegionKind, ) -> Result<Any>
Re-enter this mutator for a borrowed value. The value and all of its
descendants use the non-in-place path.
Source§fn maybe_inplace_mutate<T>(
&mut self,
value: T,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn maybe_inplace_mutate<T>( &mut self, value: T, def_region_kind: DefRegionKind, ) -> Result<Any>
Re-enter this mutator for an owned value, permitting reuse only when
the converted value remains uniquely owned.
Source§fn default_mutate(
&mut self,
value: &MapValue,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn default_mutate( &mut self, value: &MapValue, def_region_kind: DefRegionKind, ) -> Result<Any>
Apply default non-in-place mutation to
value’s children.Source§fn default_mutate_value<T>(
&mut self,
value: &T,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn default_mutate_value<T>( &mut self, value: &T, def_region_kind: DefRegionKind, ) -> Result<Any>
Apply default non-in-place mutation to a borrowed typed value. Read more
Source§fn default_maybe_inplace_mutate(
&mut self,
value: InplaceValue<'_>,
def_region_kind: DefRegionKind,
) -> Result<Any>
fn default_maybe_inplace_mutate( &mut self, value: InplaceValue<'_>, def_region_kind: DefRegionKind, ) -> Result<Any>
Apply the default mutation under an engine-issued in-place capability. Read more
Source§fn mutate_result<T>(
&mut self,
value: &T,
kind: DefRegionKind,
) -> Result<UnchangedOr<Any>>
fn mutate_result<T>( &mut self, value: &T, kind: DefRegionKind, ) -> Result<UnchangedOr<Any>>
Re-enter this mutator for a borrowed value, preserving unchanged.
Source§fn default_mutate_result(
&mut self,
value: &MapValue,
kind: DefRegionKind,
) -> Result<UnchangedOr<Any>>
fn default_mutate_result( &mut self, value: &MapValue, kind: DefRegionKind, ) -> Result<UnchangedOr<Any>>
Default non-in-place mutation with an unchanged-or-replacement result.
Source§fn default_mutate_value_result<T>(
&mut self,
value: &T,
kind: DefRegionKind,
) -> Result<UnchangedOr<Any>>
fn default_mutate_value_result<T>( &mut self, value: &T, kind: DefRegionKind, ) -> Result<UnchangedOr<Any>>
Default mutation of a borrowed typed value, preserving unchanged.
Source§fn default_maybe_inplace_mutate_result(
&mut self,
value: InplaceValue<'_>,
kind: DefRegionKind,
) -> Result<UnchangedOr<Any>>
fn default_maybe_inplace_mutate_result( &mut self, value: InplaceValue<'_>, kind: DefRegionKind, ) -> Result<UnchangedOr<Any>>
Default mutation under an engine-issued capability, preserving unchanged.
Auto Trait Implementations§
impl<State, Link, Marker> !Send for MutateCallbacks<State, Link, Marker>
impl<State, Link, Marker> !Sync for MutateCallbacks<State, Link, Marker>
impl<State, Link, Marker> Freeze for MutateCallbacks<State, Link, Marker>where
State: Freeze,
impl<State, Link, Marker> RefUnwindSafe for MutateCallbacks<State, Link, Marker>where
State: RefUnwindSafe,
Link: RefUnwindSafe,
impl<State, Link, Marker> Unpin for MutateCallbacks<State, Link, Marker>where
State: Unpin,
impl<State, Link, Marker> UnsafeUnpin for MutateCallbacks<State, Link, Marker>where
State: UnsafeUnpin,
impl<State, Link, Marker> UnwindSafe for MutateCallbacks<State, Link, Marker>where
State: UnwindSafe,
Link: 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