Skip to main content

Module lexical_region_resolve

Module lexical_region_resolve 

Source
Expand description

Lexical region resolution.

Re-exportsยง

use std::fmt; ๐Ÿ”’
use rustc_data_structures::fx::FxHashSet; ๐Ÿ”’
use rustc_data_structures::intern::Interned; ๐Ÿ”’
use rustc_data_structures::unord::UnordSet; ๐Ÿ”’
use rustc_index::IndexSlice; ๐Ÿ”’
use rustc_index::IndexVec; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::ReBound; ๐Ÿ”’
use rustc_middle::ty::ReEarlyParam; ๐Ÿ”’
use rustc_middle::ty::ReErased; ๐Ÿ”’
use rustc_middle::ty::ReError; ๐Ÿ”’
use rustc_middle::ty::ReLateParam; ๐Ÿ”’
use rustc_middle::ty::RePlaceholder; ๐Ÿ”’
use rustc_middle::ty::ReStatic; ๐Ÿ”’
use rustc_middle::ty::ReVar; ๐Ÿ”’
use rustc_middle::ty::Region; ๐Ÿ”’
use rustc_middle::ty::RegionVid; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::TypeFoldable; ๐Ÿ”’
use rustc_middle::ty::fold_regions; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::span_bug; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use super::outlives::test_type_match; ๐Ÿ”’
use crate::infer::lexical_region_resolve::indexed_edges::EdgeDirection; ๐Ÿ”’
use crate::infer::lexical_region_resolve::indexed_edges::IndexedConstraintEdges; ๐Ÿ”’
use crate::infer::region_constraints::ConstraintKind; ๐Ÿ”’
use crate::infer::region_constraints::GenericKind; ๐Ÿ”’
use crate::infer::region_constraints::RegionConstraintData; ๐Ÿ”’
use crate::infer::region_constraints::VarInfos; ๐Ÿ”’
use crate::infer::region_constraints::VerifyBound; ๐Ÿ”’
use crate::infer::RegionRelations; ๐Ÿ”’
use crate::infer::RegionVariableOrigin; ๐Ÿ”’
use crate::infer::SubregionOrigin; ๐Ÿ”’

Modulesยง

indexed_edges ๐Ÿ”’

Structsยง

LexicalRegionResolutions ๐Ÿ”’
Contains the result of lexical region resolution. Offers methods to lookup up the final value of a region variable.
LexicalResolver ๐Ÿ”’
RegionAndOrigin ๐Ÿ”’

Enumsยง

RegionResolutionError
VarValue ๐Ÿ”’

Functionsยง

resolve ๐Ÿ”’
This function performs lexical region resolution given a complete set of constraints and variable origins. It performs a fixed-point iteration to find region values which satisfy all constraints, assuming such values can be found. It returns the final values of all the variables as well as a set of errors that must be reported.