rustc_borrowck::polonius::legacy

Function emit_facts

Source
pub(crate) fn emit_facts<'tcx>(
    all_facts: &mut Option<AllFacts>,
    tcx: TyCtxt<'tcx>,
    location_table: &LocationTable,
    body: &Body<'tcx>,
    borrow_set: &BorrowSet<'tcx>,
    move_data: &MoveData<'tcx>,
    universal_region_relations: &UniversalRegionRelations<'tcx>,
    constraints: &MirTypeckRegionConstraints<'tcx>,
)
Expand description

When requested, emit most of the facts needed by polonius:

  • moves and assignments
  • universal regions and their relations
  • CFG points and edges
  • loan kills
  • loan invalidations
  • access facts such as variable definitions, uses, drops, and path accesses
  • outlives constraints

The rest of the facts are emitted during typeck and liveness.