[][src]Enum syntax::ast::IsAsync

pub enum IsAsync {
    Async {
        closure_id: NodeId,
        return_impl_trait_id: NodeId,
        arguments: Vec<AsyncArgument>,
    },
    NotAsync,
}

Variants

Async

Fields of Async

closure_id: NodeIdreturn_impl_trait_id: NodeIdarguments: Vec<AsyncArgument>

This field stores the arguments and statements that are used in HIR lowering to ensure that async fn arguments are dropped at the correct time.

The argument and statements here are generated at parse time as they are required in both the hir lowering, def collection and name resolution and this stops them needing to be created in each place.

NotAsync

Methods

impl IsAsync[src]

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

pub fn opt_return_id(&self) -> Option<NodeId>[src]

In ths case this is an async return, the NodeId for the generated impl Trait item.

Trait Implementations

impl Clone for IsAsync[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for IsAsync[src]

impl Encodable for IsAsync[src]

impl Decodable for IsAsync[src]

Auto Trait Implementations

impl !Send for IsAsync

impl !Sync for IsAsync

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

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

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

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

impl<T> Any for T where
    T: 'static + ?Sized
[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]

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

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

impl<T> Erased for T[src]