56use crate::borrow_set::{BorrowData, BorrowSet};
57use crate::consumers::{BodyWithBorrowckFacts, RustcFacts};
58▶use crate::dataflow::{BorrowIndex, Borrowck, BorrowckDomain, Borrows};
59use crate::diagnostics::{
60 AccessKind, BorrowckDiagnosticsBuffer, IllegalMoveOriginKind, MoveError, RegionName,
· · ·
163/// appear in the closure's signature or on its field types. These
164/// requirements are then verified and proved by the closure's
165▶/// creating function. This struct encodes those requirements.
166///
167/// The requirements are listed as being between various `RegionVid`. The 0th
· · ·
467
468 // While promoteds should mostly be correct by construction, we need to check them for
469▶ // invalid moves to detect moving out of arrays:`struct S; fn main() { &([S][0]); }`.
470 for promoted_body in &promoted {
471 use rustc_middle::mir::visit::Visitor;
· · ·
567 .cloned()
568 .collect();
569▶ // For the remaining unused locals that are marked as mutable, we avoid linting any that
570 // were never initialized. These locals may have been removed as unreachable code; or will be
571 // linted as unused variables.
· · ·
646 let entry_states: EntryStates<_> =
647 itertools::izip!(borrows.entry_states, uninits.entry_states, ever_inits.entry_states)
648▶ .map(|(borrows, uninits, ever_inits)| BorrowckDomain { borrows, uninits, ever_inits })
649 .collect();
650
+ 28 more matches in this file