Routines for manipulating the control-flow graph.
Provides the implementation of the custom_mir
attribute.
Builds MIR from expressions. As a caller into this module, you
have many options, but the first thing you have to decide is
whether you are evaluating this expression for its value, its
location, or as a constant.
Code related to match expressions. These are sufficiently complex to
warrant their own module and submodules. :) This main module includes the
high-level algorithm, the submodules contain the details.
Miscellaneous builder routines that are not specific to building any particular
kind of thing.
Managing the scope stack. The scopes are tied to lexical scopes, so as
we descend the THIR, we push a scope on the stack, build its
contents, and then pop it off. Every scope is named by a
region::Scope
.