pub struct ExprIf {
pub attrs: Vec<Attribute>,
pub if_token: If,
pub cond: Box<Expr>,
pub then_branch: Block,
pub else_branch: Option<(Else, Box<Expr>)>,
}
Expand description
An if
expression with an optional else
block: if expr { ... } else { ... }
.
The else
branch expression may only be an If
or Block
expression, not any of the other types of expression.
This type is available only if Syn is built with the "full"
feature.
Fields§
§attrs: Vec<Attribute>
§if_token: If
§cond: Box<Expr>
§then_branch: Block
§else_branch: Option<(Else, Box<Expr>)>
Trait Implementations§
source§impl ToTokens for ExprIf
impl ToTokens for ExprIf
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
impl Eq for ExprIf
Auto Trait Implementations§
impl Freeze for ExprIf
impl RefUnwindSafe for ExprIf
impl !Send for ExprIf
impl !Sync for ExprIf
impl Unpin for ExprIf
impl UnwindSafe for ExprIf
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Returns a
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.