Module handle_placeholders

Source
Expand description

Logic for lowering higher-kinded outlives constraints (with placeholders and universes) and turn them into regular outlives constraints.

StructsΒ§

LoweredConstraints πŸ”’
A set of outlives constraints after rewriting to remove higher-kinded constraints.
RegionTracker πŸ”’
An annotation for region graph SCCs that tracks the values of its elements. This annotates a single SCC.
SccAnnotations πŸ”’
A Visitor for SCC annotation construction.

FunctionsΒ§

compute_sccs_applying_placeholder_outlives_constraints πŸ”’
This method handles placeholders by rewriting the constraint graph. For each strongly connected component in the constraint graph such that there is a series of constraints A: B: C: … : X where A contains a placeholder whose universe cannot be named by X, add a constraint that A: ’static. This is a safe upper bound in the face of borrow checker/trait solver limitations that will eventually go away.
region_definitions πŸ”’
Determines if the region variable definitions contain placeholders, and compute them for later use.
rewrite_placeholder_outlives πŸ”’