Struct ExprLet

pub struct ExprLet { pub attrs: Vec<Attribute>, pub let_token: Let, pub pat: Box<Pat>, pub eq_token: Eq, pub expr: Box<Expr> }

A pattern application: let Some(x) = opt.

Fields

attrs: Vec<Attribute>
let_token: Let
pat: Box<Pat>
eq_token: Eq
expr: Box<Expr>

Trait Implementations

impl Clone for ExprLet

fn clone(&self) -> Self

impl Parse for ExprLet

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

impl ToTokens for ExprLet

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

Auto Trait Implementations

impl !Send for ExprLet

impl !Sync for ExprLet

impl Freeze for ExprLet

impl RefUnwindSafe for ExprLet

impl Unpin for ExprLet

impl UnsafeUnpin for ExprLet

impl UnwindSafe for ExprLet

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for ExprLet

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

impl<T, U> Into<U> for ExprLet 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 ExprLet where U: Into<T>,

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

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

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