Enum rustc_span::hygiene::DesugaringKind
source · pub enum DesugaringKind {
CondTemporary,
QuestionMark,
TryBlock,
YeetExpr,
OpaqueTy,
Async,
Await,
ForLoop,
WhileLoop,
}
Expand description
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
YeetExpr
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
WhileLoop
Implementations
sourceimpl DesugaringKind
impl DesugaringKind
Trait Implementations
sourceimpl Clone for DesugaringKind
impl Clone for DesugaringKind
sourcefn clone(&self) -> DesugaringKind
fn clone(&self) -> DesugaringKind
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for DesugaringKind
impl Debug for DesugaringKind
sourceimpl<__D: Decoder> Decodable<__D> for DesugaringKind
impl<__D: Decoder> Decodable<__D> for DesugaringKind
sourceimpl<__E: Encoder> Encodable<__E> for DesugaringKind
impl<__E: Encoder> Encodable<__E> for DesugaringKind
sourceimpl<__CTX> HashStable<__CTX> for DesugaringKindwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for DesugaringKindwhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
sourceimpl PartialEq<DesugaringKind> for DesugaringKind
impl PartialEq<DesugaringKind> for DesugaringKind
sourcefn eq(&self, other: &DesugaringKind) -> bool
fn eq(&self, other: &DesugaringKind) -> bool
impl Copy for DesugaringKind
impl StructuralPartialEq for DesugaringKind
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
CondTemporary
: 0 bytesQuestionMark
: 0 bytesTryBlock
: 0 bytesYeetExpr
: 0 bytesOpaqueTy
: 0 bytesAsync
: 0 bytesAwait
: 0 bytesForLoop
: 0 bytesWhileLoop
: 0 bytes