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<'_>,
    universal_regions: &UniversalRegions<'_>,
    universal_region_relations: &UniversalRegionRelations<'_>
)
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

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