#[non_exhaustive]pub struct ExprIf {
pub attributes: Vec<Attribute>,
pub if_: If,
pub condition: Box<Condition>,
pub block: Box<Block>,
pub expr_else_ifs: Vec<ExprElseIf>,
pub expr_else: Option<ExprElse>,
}
Expand description
A conditional if
expression.
if cond { true } else { false }
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.attributes: Vec<Attribute>
The attributes
of the if statement
if_: If
The if
token.
condition: Box<Condition>
The condition to the if statement.
block: Box<Block>
The body of the if statement.
expr_else_ifs: Vec<ExprElseIf>
Else if branches.
expr_else: Option<ExprElse>
The else part of the if expression.
Implementations§
Trait Implementations§
Source§impl OptionSpanned for ExprIf
impl OptionSpanned for ExprIf
Source§fn option_span(&self) -> Option<Span>
fn option_span(&self) -> Option<Span>
Get the optional span of the type.
Source§impl ToTokens for ExprIf
impl ToTokens for ExprIf
Source§fn to_tokens(
&self,
context: &mut MacroContext<'_, '_, '_>,
stream: &mut TokenStream,
) -> Result<()>
fn to_tokens( &self, context: &mut MacroContext<'_, '_, '_>, stream: &mut TokenStream, ) -> Result<()>
Turn the current item into tokens.
impl Eq for ExprIf
impl StructuralPartialEq 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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.