Skip to main content

Module dump

Module dump 

Source

StructsΒ§

CachedLivenessSource πŸ”’
A LivenessSource for already-existing liveness and variance data.
LocalizedOutlivesConstraint πŸ”’
The constraints we’ll dump as text or a mermaid graph.
MirDumpCollector πŸ”’
Visitor to record constraints encountered when traversing the localized constraint graph, as well as the reachability of each loan.

ConstantsΒ§

TEMPLATE πŸ”’
The polonius MIR dump template: a regular HTML file for easy editing, with special dummy sections to be replaced by real contents.

FunctionsΒ§

dump_polonius_mir πŸ”’
-Zdump-mir=polonius dumps MIR annotated with NLL and polonius specific information.
emit_html_mir πŸ”’
Emits the polonius MIR, as escaped HTML.
emit_loan_reachability πŸ”’
Emits the reachability of loans: a list of all nodes reached while traversing the polonius constraint graph.
emit_mermaid_cfg πŸ”’
Emits a mermaid flowchart of the CFG blocks and edges, similar to the graphviz version.
emit_mermaid_constraint_graph πŸ”’
Emits a mermaid flowchart of the polonius localized outlives constraints, with subgraphs per region, and loan introductions.
emit_mermaid_nll_regions πŸ”’
Emits a mermaid flowchart of the NLL regions and the outlives constraints between them, similar to the graphviz version.
emit_mermaid_nll_sccs πŸ”’
Emits a mermaid flowchart of the NLL SCCs and the outlives constraints between them, similar to the graphviz version.
emit_polonius_dump πŸ”’
The polonius dump consists of:
emit_polonius_mir πŸ”’
Produces the actual NLL + Polonius MIR sections to emit during the dumping process.
location_name πŸ”’
A MIR location looks like bb5[2]. As that is not a syntactically valid mermaid node id, transform it into BB5_2.
node_name πŸ”’
region_name πŸ”’
render_region πŸ”’
Emits a region’s label: index, universe, external name.