Struct syn::ExprIfLet
[−]
[src]
pub struct ExprIfLet { pub attrs: Vec<Attribute>, pub if_token: If, pub let_token: Let, pub pat: Box<Pat>, 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
attrs: Vec<Attribute>
if_token: If
let_token: Let
pat: Box<Pat>
eq_token: Eq
expr: Box<Expr>
then_branch: Block
else_branch: Option<(Else, Box<Expr>)>
Trait Implementations
impl Synom for ExprIfLet
[src]
fn parse(i: Cursor) -> PResult<Self>
[src]
fn description() -> Option<&'static str>
[src]
A short name of the type being parsed. Read more
impl ToTokens for ExprIfLet
[src]
fn to_tokens(&self, tokens: &mut Tokens)
[src]
Write self
to the given Tokens
. Read more
fn into_tokens(self) -> Tokens
[src]
Convert self
directly into a Tokens
object. Read more
impl Debug for ExprIfLet
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Eq for ExprIfLet
[src]
impl PartialEq for ExprIfLet
[src]
fn eq(&self, __arg_0: &ExprIfLet) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ExprIfLet) -> bool
[src]
This method tests for !=
.
impl Hash for ExprIfLet
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Clone for ExprIfLet
[src]
fn clone(&self) -> ExprIfLet
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more