[][src]Struct syn::ExprIfLet

pub struct ExprIfLet {
    pub attrs: Vec<Attribute>,
    pub if_token: If,
    pub let_token: Let,
    pub pats: Punctuated<Pat, Or>,
    pub eq_token: Eq,
    pub expr: Box<Expr>,
    pub then_branch: Block,
    pub else_branch: Option<(Else, Box<Expr>)>,
}

An if let expression with an optional else block: if let pat = expr { ... } else { ... }.

The else branch expression may only be an If, IfLet, or Block expression, not any of the other types of expression.

This type is available if Syn is built with the "full" feature.

Fields

Trait Implementations

impl Synom for ExprIfLet
[src]

impl Clone for ExprIfLet
[src]

Performs copy-assignment from source. Read more

impl From<ExprIfLet> for Expr
[src]

impl ToTokens for ExprIfLet
[src]

Convert self directly into a Tokens object. Read more

Auto Trait Implementations

impl !Send for ExprIfLet

impl !Sync for ExprIfLet

Blanket Implementations

impl<T> Spanned for T where
    T: ToTokens
[src]

impl<T> From for T
[src]

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

impl<E> SpecializationError for E
[src]

impl<T> Erased for T
[src]

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

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

impl<T> Erased for T