Struct ExprIf

struct ExprIf { ... }

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.

Fields

attrs: Vec<Attribute>
if_token: If
cond: Box<Expr>
then_branch: Block
else_branch: Option<(Else, Box<Expr>)>

Implementations

impl Clone for ExprIf

fn clone(self: &Self) -> Self

impl Debug for ExprIf

fn fmt(self: &Self, formatter: &mut Formatter<'_>) -> Result

impl Eq for ExprIf

impl Freeze for ExprIf

impl Hash for ExprIf

fn hash<H>(self: &Self, state: &mut H)
where
    H: Hasher

impl Parse for ExprIf

fn parse(input: ParseStream<'_>) -> Result<Self>

impl PartialEq for ExprIf

fn eq(self: &Self, other: &Self) -> bool

impl RefUnwindSafe for ExprIf

impl Send for ExprIf

impl Sync for ExprIf

impl ToTokens for ExprIf

fn to_tokens(self: &Self, tokens: &mut TokenStream)

impl Unpin for ExprIf

impl UnsafeUnpin for ExprIf

impl UnwindSafe for ExprIf

impl<T> Any for ExprIf

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for ExprIf

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for ExprIf

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for ExprIf

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for ExprIf

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Spanned for ExprIf

fn span(self: &Self) -> Span

impl<T> ToOwned for ExprIf

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for ExprIf

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for ExprIf

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for ExprIf

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>