[][src]Enum rustc_span::hygiene::DesugaringKind

pub enum DesugaringKind {
    CondTemporary,
    QuestionMark,
    TryBlock,
    OpaqueTy,
    Async,
    Await,
    ForLoop(ForLoopLoc),
}

The kind of compiler desugaring.

Variants

CondTemporary

We desugar if c { i } else { e } to match $ExprKind::Use(c) { true => i, _ => e }. However, we do not want to blame c for unreachability but rather say that i is unreachable. This desugaring kind allows us to avoid blaming c. This also applies to while loops.

QuestionMark
TryBlock
OpaqueTy

Desugaring of an impl Trait in return type position to an type Foo = impl Trait; and replacing the impl Trait with Foo.

Async
Await
ForLoop(ForLoopLoc)

Implementations

impl DesugaringKind[src]

fn descr(self) -> &'static str[src]

The description wording should combine well with "desugaring of {}".

Trait Implementations

impl Clone for DesugaringKind[src]

impl Copy for DesugaringKind[src]

impl Debug for DesugaringKind[src]

impl<__D: Decoder> Decodable<__D> for DesugaringKind[src]

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

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

impl PartialEq<DesugaringKind> for DesugaringKind[src]

impl StructuralPartialEq for DesugaringKind[src]

Auto Trait Implementations

impl RefUnwindSafe for DesugaringKind

impl Send for DesugaringKind

impl Sync for DesugaringKind

impl Unpin for DesugaringKind

impl UnwindSafe for DesugaringKind

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.