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


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.

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

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.


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.

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



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.

Type Definitions

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.

Part of MinCaptureInformationMap; List of CapturePlaces.

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.