Module rustc::mir::repr [] [src]

Unstable (rustc_private)

Structs

ArgDecl [Unstable]

A "arg" is one of the function's formal arguments. These are anonymous and distinct from the bindings that the user declares.

BasicBlock [Unstable]

The index of a particular basic block. The index is into the basic_blocks list of the Mir.

BasicBlockData [Unstable]
Constant [Unstable]

Constants

Field [Unstable]

Index into the list of fields found in a VariantDef

Mir [Unstable]

Lowered representation of a single function.

Projection [Unstable]

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.

ScopeData [Unstable]
ScopeId [Unstable]
Statement [Unstable]
TempDecl [Unstable]

A "temp" is a temporary that we place on the stack. They are anonymous, always mutable, and have only a type.

Terminator [Unstable]
TypedConstVal [Unstable]
UpvarDecl [Unstable]

A closure capture, with its name and mode.

VarDecl [Unstable]

A "variable" is a binding declared by the user as part of the fn decl, a let, etc.

Enums

AggregateKind [Unstable]
BinOp [Unstable]
BorrowKind [Unstable]
CastKind [Unstable]
Literal [Unstable]
Lvalue [Unstable]

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

Mutability [Unstable]
Operand [Unstable]

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 [Unstable]
Rvalue [Unstable]

Rvalues

StatementKind [Unstable]
TerminatorKind [Unstable]
UnOp [Unstable]

Constants

START_BLOCK [Unstable]

where execution begins

Type Definitions

LvalueElem [Unstable]

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

LvalueProjection [Unstable]

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