Module opaque_types

Module opaque_types 

Source

ModulesΒ§

member_constraints πŸ”’
region_ctxt πŸ”’

StructsΒ§

DefiningUse πŸ”’
ToArgRegionsFolder πŸ”’
A folder to map the regions in the hidden type to their corresponding arg_regions.

EnumsΒ§

DeferredOpaqueTypeError πŸ”’
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Β§

InferCtxtExt

FunctionsΒ§

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.
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_types could introduce new uses of opaque types. We do not check these new uses so this could be unsound.
handle_opaque_type_uses πŸ”’
This looks at all uses of opaque types in their defining scope inside of this function.
nll_var_to_universal_region πŸ”’
Maps an NLL var to a deterministically chosen equal universal region.