Struct miri::borrow_tracker::tree_borrows::diagnostics::NodeDebugInfo
source · pub struct NodeDebugInfo {
pub tag: BorTag,
pub name: Option<String>,
pub history: History,
}
Expand description
Some information that is irrelevant for the algorithm but very convenient to know about a tag for debugging and testing.
Fields§
§tag: BorTag
The tag in question.
name: Option<String>
Name(s) that were associated with this tag (comma-separated). Typically the name of the variable holding the corresponding pointer in the source code. Helps match tag numbers to human-readable names.
history: History
Notable events in the history of this tag, used for diagnostics.
NOTE: by virtue of being part of NodeDebugInfo
,
the history is automatically cleaned up by the GC.
NOTE: this is !Send
, it needs to be converted before displaying
the actual diagnostics because src/diagnostics.rs
requires Send
.
Implementations§
source§impl NodeDebugInfo
impl NodeDebugInfo
sourcepub fn new(tag: BorTag, initial: Permission, span: Span) -> Self
pub fn new(tag: BorTag, initial: Permission, span: Span) -> Self
Information for a new node. By default it has no name and an empty history.
Trait Implementations§
source§impl Clone for NodeDebugInfo
impl Clone for NodeDebugInfo
source§fn clone(&self) -> NodeDebugInfo
fn clone(&self) -> NodeDebugInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for NodeDebugInfo
impl Debug for NodeDebugInfo
Auto Trait Implementations§
impl RefUnwindSafe for NodeDebugInfo
impl !Send for NodeDebugInfo
impl !Sync for NodeDebugInfo
impl Unpin for NodeDebugInfo
impl UnwindSafe for NodeDebugInfo
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
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: 80 bytes