Module rustc_borrowck::borrowck[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

See The Book chapter on the borrow checker for more details.

Re-exports

pub use self::LoanPathKind::*;
pub use self::LoanPathElem::*;
pub use self::bckerr_code::*;
pub use self::AliasableViolationKind::*;
pub use self::MovedValueUseKind::*;

Modules

check_loans [
Experimental
]
gather_loans [
Experimental
]
move_data [
Experimental
]

Data structures used for tracking moves. Please see the extensive comments in the section "Moves and initialization" in README.md.

unused [
Experimental
]

Structs

AnalysisData [
Experimental
]

Collection of conclusions determined via borrow checker analyses.

BckError [
Experimental
]
BorrowckCtxt [
Experimental
]
Loan [
Experimental
]

Record of a loan that was issued.

LoanDataFlowOperator [
Experimental
]
LoanPath [
Experimental
]

Enums

AliasableViolationKind [
Experimental
]
InteriorKind [
Experimental
]
LoanPathElem [
Experimental
]
LoanPathKind [
Experimental
]
MovedValueUseKind [
Experimental
]
bckerr_code [
Experimental
]

Constants

DOWNCAST_PRINTED_OPERATOR [
Experimental
]

Traits

ToInteriorKind [
Experimental
]

Functions

borrowck [
Experimental
]
build_borrowck_dataflow_data [
Experimental
]
build_borrowck_dataflow_data_for_fn [
Experimental
]

Accessor for introspective clients inspecting AnalysisData and the BorrowckCtxt itself , e.g. the flowgraph visualizer.

check_crate [
Experimental
]
closure_to_block [
Experimental
]
opt_loan_path [
Experimental
]

Computes the LoanPath (if any) for a cmt. Note that this logic is somewhat duplicated in the method compute() found in gather_loans::restrictions, which allows it to share common loan path pieces as it traverses the CMT.

opt_loan_path_is_field [
Experimental
]
provide [
Experimental
]

Type Definitions

LoanDataFlow [
Experimental
]