Expand description

See docs in build/expr/mod.rs

Structs

PlaceBuilder is used to create places during MIR construction. It allows you to “build up” a place by pushing more and more projections onto the end, and then convert the final set into a place using the to_place method.

Enums

PlaceBase 🔒
The “outermost” place that holds this value.

Statics

CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒

Functions

Given a list of MIR projections, convert them to list of HIR ProjectionKind. The projections are truncated to represent a path that might be captured by a closure/generator. This implies the vector returned from this function doesn’t contain ProjectionElems Downcast, ConstantIndex, Index, or Subslice because those will never be part of a path that is captured by a closure. We stop applying projections once we see the first projection that isn’t captured by a closure.
Precise capture is enabled if the feature gate capture_disjoint_fields is enabled or if user is using Rust Edition 2021 or higher.
Given a closure, returns the index of a capture within the desugared closure struct and the ty::CapturedPlace which is the ancestor of the Place represented using the var_hir_id and projection.
Return true if the proj_possible_ancestor represents an ancestor path to proj_capture or proj_possible_ancestor is same as proj_capture, assuming they both start off of the same root variable.
Returns projections remaining after stripping an initial prefix of HIR projections.
Takes an upvar place and tries to resolve it into a PlaceBuilder with PlaceBase::Local

Opaque Types

 🔒