rustc_borrowck::consumers

Function get_body_with_borrowck_facts

source
pub fn get_body_with_borrowck_facts(
    tcx: TyCtxt<'_>,
    def: LocalDefId,
    options: ConsumerOptions,
) -> BodyWithBorrowckFacts<'_>
Expand description

This function computes borrowck facts for the given body. The ConsumerOptions determine which facts are returned. This function makes a copy of the body because it needs to regenerate the region identifiers. It should never be invoked during a typical compilation session due to the unnecessary overhead of returning BodyWithBorrowckFacts.

Note:

  • This function will panic if the required body was already stolen. This can, for example, happen when requesting a body of a const function because they are evaluated during typechecking. The panic can be avoided by overriding the mir_borrowck query. You can find a complete example that shows how to do this at tests/run-make/obtain-borrowck/.

  • Polonius is highly unstable, so expect regular changes in its signature or other details.