[][src]Enum rustc_ap_syntax::ext::hygiene::DesugaringKind

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

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

Trait Implementations

impl PartialEq<DesugaringKind> for DesugaringKind[src]

impl Clone for DesugaringKind[src]

impl Decodable for DesugaringKind[src]

impl Debug for DesugaringKind[src]

impl Encodable for DesugaringKind[src]

impl Copy for DesugaringKind[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> From<T> for 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> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Erased for T[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<E> SpecializationError for E[src]