pub struct VisitContext<'a, State> { /* private fields */ }Expand description
State and recursive operations available to a visit callback.
A matched callback owns traversal of its value. Recursive operations reborrow the visitor, so mutable state cannot remain borrowed across them.
Implementations§
Source§impl<State> VisitContext<'_, State>
impl<State> VisitContext<'_, State>
Sourcepub fn state_mut(&mut self) -> &mut State
pub fn state_mut(&mut self) -> &mut State
Mutably borrow the user state.
Sourcepub fn current(&self) -> &VisitValue
pub fn current(&self) -> &VisitValue
Complete borrowed value active at this callback.
Sourcepub fn def_region_kind(&self) -> DefRegionKind
pub fn def_region_kind(&self) -> DefRegionKind
Definition-region state active at the callback’s current value.
Sourcepub fn visit<T>(&mut self, child: &T) -> Result<Option<VisitInterrupt>>
pub fn visit<T>(&mut self, child: &T) -> Result<Option<VisitInterrupt>>
Visit child using the current definition-region state.
Sourcepub fn visit_with<T>(
&mut self,
child: &T,
def_region_kind: DefRegionKind,
) -> Result<Option<VisitInterrupt>>
pub fn visit_with<T>( &mut self, child: &T, def_region_kind: DefRegionKind, ) -> Result<Option<VisitInterrupt>>
Visit child using an explicit definition-region state.
Sourcepub fn visit_children(&mut self) -> Result<Option<VisitInterrupt>>
pub fn visit_children(&mut self) -> Result<Option<VisitInterrupt>>
Visit the current value’s children using registered hooks or reflected structural fields. The current value itself is not dispatched again.
Auto Trait Implementations§
impl<'a, State> !RefUnwindSafe for VisitContext<'a, State>
impl<'a, State> !Send for VisitContext<'a, State>
impl<'a, State> !Sync for VisitContext<'a, State>
impl<'a, State> !UnwindSafe for VisitContext<'a, State>
impl<'a, State> Freeze for VisitContext<'a, State>
impl<'a, State> Unpin for VisitContext<'a, State>
impl<'a, State> UnsafeUnpin for VisitContext<'a, State>
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