Struct miri::borrow_tracker::tree_borrows::tree::TreeVisitor
source · struct TreeVisitor<'tree> {
tag_mapping: &'tree UniKeyMap<BorTag>,
nodes: &'tree mut UniValMap<Node>,
perms: &'tree mut UniValMap<LocationState>,
}
Expand description
Internal contents of Tree
with the minimum of mutable access for
the purposes of the tree traversal functions: the permissions (perms
) can be
updated but not the tree structure (tag_mapping
and nodes
)
Fields§
§tag_mapping: &'tree UniKeyMap<BorTag>
§nodes: &'tree mut UniValMap<Node>
§perms: &'tree mut UniValMap<LocationState>
Implementations§
source§impl<'tree> TreeVisitor<'tree>
impl<'tree> TreeVisitor<'tree>
fn traverse_parents_this_children_others<InnErr, OutErr>( self, start: BorTag, f_propagate: impl Fn(NodeAppArgs<'_>) -> Result<ContinueTraversal, InnErr>, err_builder: impl Fn(ErrHandlerArgs<'_, InnErr>) -> OutErr ) -> Result<(), OutErr>
fn traverse_nonchildren<InnErr, OutErr>( self, start: BorTag, f_propagate: impl Fn(NodeAppArgs<'_>) -> Result<ContinueTraversal, InnErr>, err_builder: impl Fn(ErrHandlerArgs<'_, InnErr>) -> OutErr ) -> Result<(), OutErr>
Auto Trait Implementations§
impl<'tree> !DynSend for TreeVisitor<'tree>
impl<'tree> !DynSync for TreeVisitor<'tree>
impl<'tree> Freeze for TreeVisitor<'tree>
impl<'tree> RefUnwindSafe for TreeVisitor<'tree>
impl<'tree> Send for TreeVisitor<'tree>
impl<'tree> Sync for TreeVisitor<'tree>
impl<'tree> Unpin for TreeVisitor<'tree>
impl<'tree> !UnwindSafe for TreeVisitor<'tree>
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes