Module rustc::mir [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

MIR datatypes and passes. See the README for details.

Modules

tcx [
Experimental
]

Methods for the various MIR types. These are intended for use after building is complete.

transform [
Experimental
]

See the README for details on writing your own pass.

traversal [
Experimental
]
visit [
Experimental
]

Structs

BasicBlock [
Experimental
]
BasicBlockData [
Experimental
]
Constant [
Experimental
]

Constants

Field [
Experimental
]
GeneratorLayout [
Experimental
]

The layout of generator state

Local [
Experimental
]
LocalDecl [
Experimental
]

A MIR local.

Location [
Experimental
]
Mir [
Experimental
]

Lowered representation of a single function.

Projection [
Experimental
]

The Projection data structure defines things of the form B.x or *B or B[index]. Note that it is parameterized because it is shared between Constant and Lvalue. See the aliases LvalueProjection etc below.

Promoted [
Experimental
]
SourceInfo [
Experimental
]

Grouped information about the source code origin of a MIR entity. Intended to be inspected by diagnostics and debuginfo. Most passes can work with it as a whole, within a single function.

Statement [
Experimental
]
Static [
Experimental
]

The def-id of a static, along with its normalized type (which is stored to avoid requiring normalization when reading MIR).

Terminator [
Experimental
]
UnsafetyViolation [
Experimental
]
UpvarDecl [
Experimental
]

A closure capture, with its name and mode.

ValidationOperand [
Experimental
]
VisibilityScope [
Experimental
]
VisibilityScopeData [
Experimental
]
VisibilityScopeInfo [
Experimental
]

Enums

AggregateKind [
Experimental
]
AssertMessage [
Experimental
]
BinOp [
Experimental
]
BorrowKind [
Experimental
]
CastKind [
Experimental
]
ClearOnDecode [
Experimental
]
Literal [
Experimental
]
LocalKind [
Experimental
]

Classifies locals into categories. See Mir::local_kind.

Lvalue [
Experimental
]

A path to a value; something that can be evaluated without changing or disturbing program state.

Mutability [
Experimental
]
NullOp [
Experimental
]
Operand [
Experimental
]

These are values that can appear inside an rvalue (or an index lvalue). They are intentionally limited to prevent rvalues from being nested in one another.

ProjectionElem [
Experimental
]
Rvalue [
Experimental
]

Rvalues

Safety [
Experimental
]
StatementKind [
Experimental
]
TerminatorKind [
Experimental
]
UnOp [
Experimental
]
ValidationOp [
Experimental
]

The ValidationOp describes what happens with each of the operands of a Validate statement.

Constants

ARGUMENT_VISIBILITY_SCOPE [
Experimental
]
RETURN_POINTER [
Experimental
]
START_BLOCK [
Experimental
]

where execution begins

Traits

HasLocalDecls [
Experimental
]

Type Definitions

LvalueElem [
Experimental
]

Alias for projections as they appear in lvalues, where the base is an lvalue and the index is a local.

LvalueProjection [
Experimental
]

Alias for projections as they appear in lvalues, where the base is an lvalue and the index is a local.