[][src]Module rustc_ap_rustc_data_structures::box_region

This module provides a way to deal with self-referential data.

The main idea is to allocate such data in a generator frame and then give access to it by executing user-provided closures inside that generator. The module provides a safe abstraction for the latter task.

The interface consists of two exported macros meant to be used together:

  • declare_box_region_type wraps a generator inside a struct with access method which accepts closures.
  • box_region_allow_access is a helper which should be called inside a generator to actually execute those closures.

Structs

AccessAction
Marker
PinnedGenerator

Enums

Action
YieldType