pub trait Visit: 'static + Sized {
// Provided methods
fn visit<'a, T: 'static, R: VisitResult, F: FnMut(&'a T) -> R>(
&'a self,
f: F
) -> Result<(), VisitError<R::Error>> { ... }
fn visit_mut<T: 'static, R: VisitResult, F: FnMut(&mut T) -> R>(
&mut self,
f: F
) -> Result<(), VisitError<R::Error>> { ... }
fn visit_children<'a, T: 'static, E, F: FnMut(&'a T) -> Result<(), E>>(
&'a self,
_f: &mut F
) -> Result<(), VisitError<E>> { ... }
fn visit_children_mut<T: 'static, E, F: FnMut(&mut T) -> Result<(), E>>(
&mut self,
_f: &mut F
) -> Result<(), VisitError<E>> { ... }
}
Expand description
A trait for recursively finding instances of a given type within a value.
This is particularly useful for finding and updating indices.
Provided Methods§
sourcefn visit<'a, T: 'static, R: VisitResult, F: FnMut(&'a T) -> R>(
&'a self,
f: F
) -> Result<(), VisitError<R::Error>>
fn visit<'a, T: 'static, R: VisitResult, F: FnMut(&'a T) -> R>( &'a self, f: F ) -> Result<(), VisitError<R::Error>>
Traverse this value with the provided callback.
sourcefn visit_mut<T: 'static, R: VisitResult, F: FnMut(&mut T) -> R>(
&mut self,
f: F
) -> Result<(), VisitError<R::Error>>
fn visit_mut<T: 'static, R: VisitResult, F: FnMut(&mut T) -> R>( &mut self, f: F ) -> Result<(), VisitError<R::Error>>
Traverse this value mutably with the provided callback.
sourcefn visit_children<'a, T: 'static, E, F: FnMut(&'a T) -> Result<(), E>>(
&'a self,
_f: &mut F
) -> Result<(), VisitError<E>>
fn visit_children<'a, T: 'static, E, F: FnMut(&'a T) -> Result<(), E>>( &'a self, _f: &mut F ) -> Result<(), VisitError<E>>
Traverse the children of this value with the provided callback.
sourcefn visit_children_mut<T: 'static, E, F: FnMut(&mut T) -> Result<(), E>>(
&mut self,
_f: &mut F
) -> Result<(), VisitError<E>>
fn visit_children_mut<T: 'static, E, F: FnMut(&mut T) -> Result<(), E>>( &mut self, _f: &mut F ) -> Result<(), VisitError<E>>
Traverse the children of this value mutably with the provided callback.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
impl Visit for bool
impl Visit for f32
impl Visit for f64
impl Visit for i32
impl Visit for i64
impl Visit for u8
impl Visit for u32
impl Visit for u64
impl Visit for String
source§impl<T: Visit> Visit for Option<T>
impl<T: Visit> Visit for Option<T>
fn visit_children<'a, VisitT: 'static, E, F: FnMut(&'a VisitT) -> Result<(), E>>( &'a self, f: &mut F ) -> Result<(), VisitError<E>>
fn visit_children_mut<VisitT: 'static, E, F: FnMut(&mut VisitT) -> Result<(), E>>( &mut self, f: &mut F ) -> Result<(), VisitError<E>>
source§impl<T: Visit> Visit for Vec<T>
impl<T: Visit> Visit for Vec<T>
fn visit_children<'a, VisitT: 'static, E, F: FnMut(&'a VisitT) -> Result<(), E>>( &'a self, f: &mut F ) -> Result<(), VisitError<E>>
fn visit_children_mut<VisitT: 'static, E, F: FnMut(&mut VisitT) -> Result<(), E>>( &mut self, f: &mut F ) -> Result<(), VisitError<E>>
source§impl<T: Visit, const N: usize> Visit for [T; N]
impl<T: Visit, const N: usize> Visit for [T; N]
fn visit_children<'a, VisitT: 'static, E, F: FnMut(&'a VisitT) -> Result<(), E>>( &'a self, f: &mut F ) -> Result<(), VisitError<E>>
fn visit_children_mut<VisitT: 'static, E, F: FnMut(&mut VisitT) -> Result<(), E>>( &mut self, f: &mut F ) -> Result<(), VisitError<E>>
Implementors§
impl Visit for Instructionwhere
Self: 'static,
impl Visit for Miscwhere
Self: 'static,
impl Visit for SIMDwhere
Self: 'static,
impl Visit for Atomicwhere
Self: 'static,
Available on crate feature
threads
only.impl Visit for CustomSection
impl Visit for DataInitwhere
Self: 'static,
impl Visit for ElemKindwhere
Self: 'static,
impl Visit for Elementwhere
Self: 'static,
impl Visit for ExportDescwhere
Self: 'static,
impl Visit for ImportDescwhere
Self: 'static,
impl Visit for NameSubSectionwhere
Self: 'static,
impl Visit for Sectionwhere
Self: 'static,
impl Visit for BlockTypewhere
Self: 'static,
impl Visit for RefTypewhere
Self: 'static,
impl Visit for ValueTypewhere
Self: 'static,
impl Visit for UnparsedByteswhere
Self: 'static,
impl Visit for DataIdwhere
Self: 'static,
impl Visit for ElemIdwhere
Self: 'static,
impl Visit for ExceptionIdwhere
Self: 'static,
impl Visit for FuncIdwhere
Self: 'static,
impl Visit for GlobalIdwhere
Self: 'static,
impl Visit for LabelIdwhere
Self: 'static,
impl Visit for LocalIdwhere
Self: 'static,
impl Visit for MemIdwhere
Self: 'static,
impl Visit for TableIdwhere
Self: 'static,
impl Visit for TypeIdwhere
Self: 'static,
impl Visit for Catchwhere
Self: 'static,
Available on crate feature
exception-handling
only.impl Visit for TryTablewhere
Self: 'static,
Available on crate feature
exception-handling
only.impl Visit for CallIndirectwhere
Self: 'static,
impl Visit for MemArgwhere
Self: 'static,
impl Visit for Datawhere
Self: 'static,
impl Visit for Exceptionwhere
Self: 'static,
impl Visit for Exportwhere
Self: 'static,
impl Visit for FuncBodywhere
Self: 'static,
impl Visit for Globalwhere
Self: 'static,
impl Visit for Importwhere
Self: 'static,
impl Visit for ImportPathwhere
Self: 'static,
impl Visit for Localswhere
Self: 'static,
impl Visit for ProducerFieldwhere
Self: 'static,
impl Visit for ProducerVersionedNamewhere
Self: 'static,
impl Visit for RawCustomSectionwhere
Self: 'static,
impl Visit for Modulewhere
Self: 'static,
impl Visit for ExceptionTypewhere
Self: 'static,
impl Visit for FuncTypewhere
Self: 'static,
impl Visit for GlobalTypewhere
Self: 'static,
impl Visit for Limitswhere
Self: 'static,
impl Visit for MemTypewhere
Self: 'static,
impl Visit for TableTypewhere
Self: 'static,
impl<F> Visit for FloatConst<F>where
Self: 'static,
F: Visit,
impl<I, V> Visit for NameAssoc<I, V>
impl<I, V> Visit for NameMap<I, V>
impl<T> Visit for Blob<T>
impl<T: Decode + Visit> Visit for Lazy<T>
impl<const ALIGN_LOG2: u32> Visit for AlignedMemArg<ALIGN_LOG2>where
Self: 'static,
Available on crate feature
threads
only.