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
sourceimpl<'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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 32 bytes