54use crate::borrow_set::{BorrowData, BorrowSet};
55use crate::consumers::{BodyWithBorrowckFacts, RustcFacts};
56▶use crate::dataflow::{BorrowIndex, Borrowck, BorrowckDomain, Borrows};
57use crate::diagnostics::{
58 AccessKind, BorrowckDiagnosticsBuffer, IllegalMoveOriginKind, MoveError, RegionName,
· · ·
158/// appear in the closure's signature or on its field types. These
159/// requirements are then verified and proved by the closure's
160▶/// creating function. This struct encodes those requirements.
161///
162/// The requirements are listed as being between various `RegionVid`. The 0th
· · ·
463 let diags_buffer = &mut BorrowckDiagnosticsBuffer::default();
464 // While promoteds should mostly be correct by construction, we need to check them for
465▶ // invalid moves to detect moving out of arrays:`struct S; fn main() { &([S][0]); }`.
466 for promoted_body in &promoted {
467 use rustc_middle::mir::visit::Visitor;
· · ·
563 .cloned()
564 .collect();
565▶ // For the remaining unused locals that are marked as mutable, we avoid linting any that
566 // were never initialized. These locals may have been removed as unreachable code; or will be
567 // linted as unused variables.
· · ·
636 let entry_states: EntryStates<_> =
637 itertools::izip!(borrows.entry_states, uninits.entry_states, ever_inits.entry_states)
638▶ .map(|(borrows, uninits, ever_inits)| BorrowckDomain { borrows, uninits, ever_inits })
639 .collect();
640
+ 29 more matches in this file