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 rustc guide for more info.

Modules

binding_form_impl [
Experimental
]
cache [
Experimental
]
interpret [
Experimental
]

An interpreter for MIR used in CTFE and by miri

mono [
Experimental
]
tcx [
Experimental
]

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

traversal [
Experimental
]
visit [
Experimental
]

Structs

BasicBlock [
Experimental
]
BasicBlockData [
Experimental
]
BorrowCheckResult [
Experimental
]
ClosureOutlivesRequirement [
Experimental
]

Indicates an outlives constraint between a type or between two free-regions declared on the closure.

ClosureRegionRequirements [
Experimental
]

After we borrow check a closure, we are left with various requirements that we have inferred between the free regions that appear in the closure's signature or on its field types. These requirements are then verified and proved by the closure's creating function. This struct encodes those requirements.

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 Place. See the aliases PlaceProjection 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.

SourceScope [
Experimental
]
SourceScopeData [
Experimental
]
SourceScopeLocalData [
Experimental
]
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
]
UnsafetyCheckResult [
Experimental
]
UnsafetyViolation [
Experimental
]
UpvarDecl [
Experimental
]

A closure capture, with its name and mode.

ValidationOperand [
Experimental
]
VarBindingForm [
Experimental
]

Enums

AggregateKind [
Experimental
]
BinOp [
Experimental
]
BindingForm [
Experimental
]
BorrowKind [
Experimental
]
CastKind [
Experimental
]
ClearCrossCrate [
Experimental
]
ClosureOutlivesSubject [
Experimental
]

The subject of a ClosureOutlivesRequirement -- that is, the thing that must outlive some region.

LocalKind [
Experimental
]

Classifies locals into categories. See Mir::local_kind.

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

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

Place [
Experimental
]

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

ProjectionElem [
Experimental
]
Rvalue [
Experimental
]

Rvalues

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

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

Constants

OUTERMOST_SOURCE_SCOPE [
Experimental
]
RETURN_PLACE [
Experimental
]
START_BLOCK [
Experimental
]

where execution begins

Traits

HasLocalDecls [
Experimental
]

Functions

fmt_const_val [
Experimental
]

Write a ConstValue in a way closer to the original source code than the Debug output.

item_path_str [
Experimental
]
print_miri_value [
Experimental
]

Type Definitions

AssertMessage [
Experimental
]
LocalDecls [
Experimental
]

Types for locals

PlaceElem [
Experimental
]

Alias for projections as they appear in places, where the base is a place and the index is a local.

PlaceProjection [
Experimental
]

Alias for projections as they appear in places, where the base is a place and the index is a local.

Successors [
Experimental
]
SuccessorsMut [
Experimental
]

Existentials

[
Experimental
]
[
Experimental
]
[
Experimental
]
[
Experimental
]
[
Experimental
]