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,
· · ·
153/// appear in the closure's signature or on its field types. These
154/// requirements are then verified and proved by the closure's
155▶/// creating function. This struct encodes those requirements.
156///
157/// The requirements are listed as being between various `RegionVid`. The 0th
· · ·
458 let diags_buffer = &mut BorrowckDiagnosticsBuffer::default();
459 // While promoteds should mostly be correct by construction, we need to check them for
460▶ // invalid moves to detect moving out of arrays:`struct S; fn main() { &([S][0]); }`.
461 for promoted_body in &promoted {
462 use rustc_middle::mir::visit::Visitor;
· · ·
558 .cloned()
559 .collect();
560▶ // For the remaining unused locals that are marked as mutable, we avoid linting any that
561 // were never initialized. These locals may have been removed as unreachable code; or will be
562 // linted as unused variables.
· · ·
631 let entry_states: EntryStates<_> =
632 itertools::izip!(borrows.entry_states, uninits.entry_states, ever_inits.entry_states)
633▶ .map(|(borrows, uninits, ever_inits)| BorrowckDomain { borrows, uninits, ever_inits })
634 .collect();
635
+ 29 more matches in this file