Module rustc_middle::ty::closure[−][src]

Structs

CaptureInfo

Part of MinCaptureInformationMap; describes the capture kind (&, &mut, move) for a particular capture as well as identifying the part of the source code that triggered this capture to occur.

CapturedPlace

A composite describing a Place that is captured by a closure.

UpvarBorrow
UpvarId

Upvars do not get their own NodeId. Instead, we use the pair of the original var ID (that is, the root variable that is referenced by the upvar) and the ID of the closure expression.

UpvarPath

Enums

BorrowKind
ClosureKind

Represents the various closure traits in the language. This will determine the type of the environment (self, in the desugaring) argument that the closure expects.

UpvarCapture

Information describing the capture of an upvar. This is computed during typeck, specifically by regionck.

Functions

is_ancestor_or_same_capture

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.

place_to_string_for_capture

Type Definitions

MinCaptureInformationMap

Given the closure DefId this map provides a map of root variables to minimum set of CapturedPlaces that need to be tracked to support all captures of that closure.

MinCaptureList

Part of MinCaptureInformationMap; List of CapturePlaces.

RootVariableMinCaptureList

Part of MinCaptureInformationMap; Maps a root variable to the list of CapturedPlace. Used to track the minimum set of Places that need to be captured to support all Places captured by the closure starting at a given root variable.

UpvarCaptureMap
UpvarListMap