Module closure

Source

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.
ClosureTypeInfo
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
UpvarCapture
Information describing the capture of an upvar. This is computed during typeck, specifically by regionck.

Constants§

CAPTURE_STRUCT_LOCAL
Captures are represented using fields inside a structure. This represents accessing self in the closure structure

Functions§

analyze_coroutine_closure_captures
child_prefix_matches_parent_projections 🔒
closure_typeinfo 🔒
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
provide

Type Aliases§

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.