[−][src]Enum rustc_mir::borrow_check::diagnostics::region_name::RegionNameSource

pub(crate) enum RegionNameSource {
    NamedEarlyBoundRegion(Span),
    NamedFreeRegion(Span),
    Static,
    SynthesizedFreeEnvRegion(Span, String),
    AnonRegionFromArgument(RegionNameHighlight),
    AnonRegionFromUpvar(Span, String),
    AnonRegionFromOutput(RegionNameHighlight, String),
    AnonRegionFromYieldTy(Span, String),
    AnonRegionFromAsyncFn(Span),
}

Denotes the source of a region that is named by a RegionName. For example, a free region that was named by the user would get NamedFreeRegion and 'static lifetime would get Static. This helps to print the right kinds of diagnostics.

Variants

NamedEarlyBoundRegion(Span)

A bound (not free) region that was substituted at the def site (not an HRTB).

NamedFreeRegion(Span)

A free region that the user has a name ('a) for.

Static

The 'static region.

SynthesizedFreeEnvRegion(Span, String)

The free region corresponding to the environment of a closure.

AnonRegionFromArgument(RegionNameHighlight)

The region corresponding to an argument.

AnonRegionFromUpvar(Span, String)

The region corresponding to a closure upvar.

AnonRegionFromOutput(RegionNameHighlight, String)

The region corresponding to the return type of a closure.

AnonRegionFromYieldTy(Span, String)

The region from a type yielded by a generator.

AnonRegionFromAsyncFn(Span)

An anonymous region from an async fn.

Trait Implementations

impl Clone for RegionNameSource[src]

impl Debug for RegionNameSource[src]

Auto Trait Implementations

impl RefUnwindSafe for RegionNameSource

impl !Send for RegionNameSource

impl !Sync for RegionNameSource

impl Unpin for RegionNameSource

impl UnwindSafe for RegionNameSource

Blanket Implementations

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.

impl<T> WithConstness for T[src]