Struct rustc_borrowck::region_infer::RegionDefinition
source · pub(crate) struct RegionDefinition<'tcx> {
pub(crate) origin: NllRegionVariableOrigin,
pub(crate) universe: UniverseIndex,
pub(crate) external_name: Option<Region<'tcx>>,
}
Fields§
§origin: NllRegionVariableOrigin
What kind of variable is this – a free region? existential
variable? etc. (See the NllRegionVariableOrigin
for more
info.)
universe: UniverseIndex
Which universe is this region variable defined in? This is
most often ty::UniverseIndex::ROOT
, but when we encounter
forall-quantifiers like for<'a> { 'a = 'b }
, we would create
the variable for 'a
in a fresh universe that extends ROOT.
external_name: Option<Region<'tcx>>
If this is ’static or an early-bound region, then this is
Some(X)
where X
is the name of the region.
Implementations§
source§impl<'tcx> RegionDefinition<'tcx>
impl<'tcx> RegionDefinition<'tcx>
fn new(universe: UniverseIndex, rv_origin: RegionVariableOrigin) -> Self
Auto Trait Implementations§
impl<'tcx> RefUnwindSafe for RegionDefinition<'tcx>
impl<'tcx> !Send for RegionDefinition<'tcx>
impl<'tcx> !Sync for RegionDefinition<'tcx>
impl<'tcx> Unpin for RegionDefinition<'tcx>
impl<'tcx> UnwindSafe for RegionDefinition<'tcx>
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes