Skip to main content Module diagnostics Copy item path Source use std::fmt ; ๐ use std::ops::Range ; ๐ use rustc_data_structures::fx::FxHashMap; ๐ use rustc_span::Span; ๐ use crate::borrow_tracker::tree_borrows::perms::PermTransition ; ๐ use crate::borrow_tracker::tree_borrows::perms::Permission ; ๐ use crate::borrow_tracker::tree_borrows::tree::LocationState ; ๐ use crate::borrow_tracker::tree_borrows::unimap::UniIndex ; ๐ use crate::borrow_tracker::AccessKind ; ๐ use crate::borrow_tracker::ProtectorKind ; ๐ use crate ::*; ๐ DiagnosticInfo Diagnostics data about the current access and the location we are accessing.
Used to create history events and errors. DisplayFmt ๐ All parameters to determine how the tree is formatted. DisplayFmtAccess ๐ How to show whether a location has been accessed DisplayFmtPadding ๐ Formatting of the tree structure. DisplayFmtPermission ๐ Formatting of the permissions on each range. DisplayFmtWrapper ๐ Pretty-printing details DisplayIndent ๐ Track the indentation of the tree. DisplayRepr ๐ Extracted information from the tree, in a form that is readily accessible
for printing. I.e. resolve parent-child pointers into an actual tree,
zip permissions with their tag, remove wrappers, stringify data. Event Complete data for an event: History List of all events that affected a tag.
NOTE: not all of these events are relevant for a particular location,
the events should be filtered before the generation of diagnostics.
Available filtering methods include History::forget and History::extract_relevant. HistoryData History formatted for use by src/diagnostics.rs. NodeDebugInfo Some information that is irrelevant for the algorithm but very
convenient to know about a tag for debugging and testing. TbError ๐ Failures that can occur during the execution of Tree Borrows procedures. AccessCause Cause of an access: either a real access or one
inserted by Tree Borrows due to a reborrow or a deallocation. TransitionError ๐ DEFAULT_FORMATTER ๐ char_repeat ๐ Repeat a character a number of times. no_valid_exposed_references_error Cannot access this allocation with wildcard provenance, as there are no
valid exposed references for this access kind. S ๐