Skip to main content

Module stacked_borrows

Module stacked_borrows 

Source
Expand description

Implements “Stacked Borrows”. See https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information.

Re-exports§

use std::cmp; 🔒
use std::fmt::Write; 🔒
use std::sync::atomic::AtomicBool; 🔒
use rustc_abi::Size; 🔒
use rustc_data_structures::fx::FxHashSet; 🔒
use rustc_middle::mir::Mutability; 🔒
use rustc_middle::ty::layout::HasTypingEnv; 🔒
use rustc_middle::ty; 🔒
use rustc_middle::ty::Ty; 🔒
use self::diagnostics::RetagCause; 🔒
use self::diagnostics::RetagInfo; 🔒
pub use self::item::Item;
pub use self::item::Permission;
pub use self::stack::Stack;
use crate::borrow_tracker::stacked_borrows::diagnostics::AllocHistory; 🔒
use crate::borrow_tracker::stacked_borrows::diagnostics::DiagnosticCx; 🔒
use crate::borrow_tracker::stacked_borrows::diagnostics::DiagnosticCxBuilder; 🔒
use crate::borrow_tracker::AccessKind; 🔒
use crate::borrow_tracker::GlobalStateInner; 🔒
use crate::borrow_tracker::ProtectorKind; 🔒
use crate::concurrency::data_race::NaReadType; 🔒
use crate::concurrency::data_race::NaWriteType; 🔒
use crate::*; 🔒

Modules§

diagnostics
item 🔒
stack 🔒

Structs§

Stacks
Extra per-allocation state.

Enums§

ItemInvalidationCause 🔒
Determines whether an item was invalidated by a conflicting access, or by deallocation.
NewPermission 🔒
Indicates which permissions to grant to the retagged pointer.

Traits§

EvalContextExt
EvalContextPrivExt 🔒

Type Aliases§

AllocState