Skip to main content Module tree_borrows Copy item path Source use rustc_abi::Size; π use rustc_attr_ir::find_attr; π use rustc_middle::mir::Mutability; π use rustc_middle::ty::layout::HasTypingEnv; π use rustc_middle::ty; π use rustc_middle::ty::Ty; π use self::foreign_access_skipping::IdempotentForeignAccess ; π use self::tree::LocationState ; π use crate::borrow_tracker::AccessKind ; π use crate::borrow_tracker::GlobalState ; π use crate::borrow_tracker::GlobalStateInner ; π use crate::borrow_tracker::ProtectorKind ; π use crate::concurrency::data_race::NaReadType ; π use crate::concurrency::data_race::NaWriteType ; π use self::perms::Permission ; π pub use self::tree::Tree ;use crate ::*; π diagnostics foreign_access_skipping π perms π tree π In this file we handle the βTreeβ part of Tree Borrows, i.e. all tree
traversal functions, optimizations to trim branches, and keeping track of
the relative position of the access to each node being updated. This of course
also includes the definition of the tree structure. tree_visitor π unimap π This module implements the UniMap, which is a way to get efficient mappings
optimized for the setting of tree_borrows/tree.rs. wildcard π NewPermission Policy for a new borrow. EvalContextExt EvalContextPrivExt π AllocState