Enum rustc_trait_selection::infer::RegionVariableOrigin[−][src]

pub enum RegionVariableOrigin {
    MiscVariable(Span),
    PatternRegion(Span),
    AddrOfRegion(Span),
    Autoref(Span, AssocItem),
    Coercion(Span),
    EarlyBoundRegion(Span, Symbol),
    LateBoundRegion(Span, BoundRegionKind, LateBoundRegionConversionTime),
    UpvarRegion(UpvarId, Span),
    Nll(NllRegionVariableOrigin),
}
Expand description

Reasons to create a region inference variable

See error_reporting module for more details

Variants

MiscVariable(Span)
Expand description

Region variables created for ill-categorized reasons, mostly indicates places in need of refactoring

PatternRegion(Span)
Expand description

Regions created by a &P or [...] pattern

AddrOfRegion(Span)
Expand description

Regions created by & operator

Autoref(Span, AssocItem)
Expand description

Regions created as part of an autoref of a method receiver

Coercion(Span)
Expand description

Regions created as part of an automatic coercion

EarlyBoundRegion(Span, Symbol)
Expand description

Region variables created as the values for early-bound regions

LateBoundRegion(Span, BoundRegionKind, LateBoundRegionConversionTime)
Expand description

Region variables created for bound regions in a function or method that is called

UpvarRegion(UpvarId, Span)
Nll(NllRegionVariableOrigin)
Expand description

This origin is used for the inference variables that we create during NLL region processing.

Auto Trait Implementations

impl RefUnwindSafe for RegionVariableOrigin

impl !Send for RegionVariableOrigin

impl !Sync for RegionVariableOrigin

impl Unpin for RegionVariableOrigin

impl UnwindSafe for RegionVariableOrigin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
    T: Copy, 
[src]

pub fn allocate_on(self, arena: &'a Arena<'tcx>) -> &'a mut T[src]

pub fn allocate_from_iter(
    arena: &'a Arena<'tcx>,
    iter: impl IntoIterator<Item = T>
) -> &'a mut [T]
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]