Struct Arm

pub struct Arm { pub attrs: Vec<Attribute>, pub pat: Pat, pub fat_arrow_token: FatArrow, pub body: Box<Expr>, pub comma: Option<Comma> }

One arm of a match expression: 0..=10 => { return true; }.

As in:

# fn f() -> bool {
#     let n = 0;
match n {
    0..=10 => {
        return true;
    }
    // ...
    # _ => {}
}
#   false
# }

Fields

attrs: Vec<Attribute>
pat: Pat
fat_arrow_token: FatArrow
body: Box<Expr>
comma: Option<Comma>

Trait Implementations

impl Clone for Arm

fn clone(&self) -> Self

impl Parse for Arm

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

impl ToTokens for Arm

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

Auto Trait Implementations

impl !Send for Arm

impl !Sync for Arm

impl Freeze for Arm

impl RefUnwindSafe for Arm

impl Unpin for Arm

impl UnsafeUnpin for Arm

impl UnwindSafe for Arm

Blanket Implementations

impl<T> Any for Arm where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Arm where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Arm where T: ?Sized,

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

impl<T> CloneToUninit for Arm where T: Clone,

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

impl<T> From<T> for Arm

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Spanned for Arm where T: Spanned + ?Sized,

fn span(&self) -> Span

impl<T> ToOwned for Arm where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Arm where U: From<T>,

fn into(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<U> for Arm where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Arm where U: TryFrom<T>,

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