Expand description
Logic for lowering higher-kinded outlives constraints (with placeholders and universes) and turn them into regular outlives constraints.
StructsΒ§
- Lowered
Constraints π - A set of outlives constraints after rewriting to remove higher-kinded constraints.
- Region
Tracker π - 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