Struct miri::borrow_tracker::tree_borrows::tree::Node
source · pub(super) struct Node {
pub tag: BorTag,
pub parent: Option<UniIndex>,
pub children: SmallVec<[UniIndex; 4]>,
default_initial_perm: Permission,
pub debug_info: NodeDebugInfo,
}
Expand description
A node in the borrow tree. Each node is uniquely identified by a tag via
the nodes
map of Tree
.
Fields§
§tag: BorTag
The tag of this node.
parent: Option<UniIndex>
All tags except the root have a parent tag.
children: SmallVec<[UniIndex; 4]>
If the pointer was reborrowed, it has children.
default_initial_perm: Permission
Either Reserved
or Frozen
, the permission this tag will be lazily initialized
to on the first access.
debug_info: NodeDebugInfo
Some extra information useful only for debugging purposes
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Node
impl !Send for Node
impl !Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
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
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: 136 bytes