[][src]Enum rustc_ap_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)

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

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<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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<V, T> VZip<V> for T where
    V: MultiLane<T>,