ModulesΒ§
- member_
constraints π - region_
ctxt π
StructsΒ§
- Defining
Use π - ToArg
Regions πFolder - A folder to map the regions in the hidden type to their corresponding
arg_regions.
EnumsΒ§
- Deferred
Opaque πType Error - We defer errors from [fn handle_opaque_type_uses] and only report them
if there are no
RegionErrors. If there are region errors, itβs likely that errors here are caused by them and donβt need to be handled separately.
TraitsΒ§
FunctionsΒ§
- add_
concrete_ πopaque_ type - Collect all defining uses of opaque types inside of this typeck root. This expects the hidden type to be mapped to the definition parameters of the opaque and errors if we end up with distinct hidden types.
- apply_
computed_ πconcrete_ opaque_ types - This function is what actually applies member constraints to the borrowck state. It is also responsible to check all uses of the opaques in their defining scope.
- clone_
and_ πresolve_ opaque_ types - We eagerly map all regions to NLL vars here, as we need to make sure weβve introduced nll vars for all used placeholders.
- collect_
defining_ πuses - compute_
concrete_ πopaque_ types - This computes the actual hidden types of the opaque types and maps them to their definition sites. Outside of registering the computed concrete types this function does not mutate the current borrowck state.
- compute_
concrete_ πtypes_ from_ defining_ uses - detect_
opaque_ πtypes_ added_ while_ handling_ opaque_ types - In theory
apply_concrete_opaque_typescould introduce new uses of opaque types. We do not check these new uses so this could be unsound. - get_
concrete_ πopaque_ type - nll_
var_ πto_ universal_ region - Maps an NLL var to a deterministically chosen equal universal region.