[−][src]Enum rustc_hir::hir::LifetimeName

pub enum LifetimeName {
    Param(ParamName),
    Implicit,
    ImplicitObjectLifetimeDefault,
    Error,
    Underscore,
    Static,
}

Variants

Param(ParamName)

User-given names or fresh (synthetic) names.

Implicit

User wrote nothing (e.g., the lifetime in &u32).

ImplicitObjectLifetimeDefault

Implicit lifetime in a context like dyn Foo. This is distinguished from implicit lifetimes elsewhere because the lifetime that they default to must appear elsewhere within the enclosing type. This means that, in an impl Trait context, we don't have to create a parameter for them. That is, impl Trait<Item = &u32> expands to an opaque type like type Foo<'a> = impl Trait<Item = &'a u32>, but impl Trait<item = dyn Bar> expands to type Foo = impl Trait<Item = dyn Bar + 'static>. The latter uses ImplicitObjectLifetimeDefault so that surrounding code knows not to create a lifetime parameter.

Error

Indicates an error during lowering (usually '_ in wrong place) that was already reported.

Underscore

User wrote specifies '_.

Static

User wrote 'static.

Implementations

impl LifetimeName[src]

pub fn ident(&self) -> Ident[src]

pub fn is_elided(&self) -> bool[src]

pub(in hir) fn is_static(
    &self
) -> bool
[src]

pub fn normalize_to_macros_2_0(&self) -> LifetimeName[src]

Trait Implementations

impl Clone for LifetimeName[src]

impl Copy for LifetimeName[src]

impl Debug for LifetimeName[src]

impl<__E: Encoder> Encodable<__E> for LifetimeName[src]

impl Eq for LifetimeName[src]

impl Hash for LifetimeName[src]

impl<__CTX> HashStable<__CTX> for LifetimeName where
    __CTX: HashStableContext, 
[src]

impl PartialEq<LifetimeName> for LifetimeName[src]

impl StructuralEq for LifetimeName[src]

impl StructuralPartialEq for LifetimeName[src]

Auto Trait Implementations

impl RefUnwindSafe for LifetimeName

impl !Send for LifetimeName

impl !Sync for LifetimeName

impl Unpin for LifetimeName

impl UnwindSafe for LifetimeName

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.