Struct ExprUnary

pub struct ExprUnary { pub attrs: Vec<Attribute>, pub op: UnOp, pub expr: Box<Expr> }

A unary operation: !x, *x, -x.

Fields

attrs: Vec<Attribute>
op: UnOp
expr: Box<Expr>

Trait Implementations

impl Clone for ExprUnary

fn clone(&self) -> Self

impl Parse for ExprUnary

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

impl ToTokens for ExprUnary

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

Auto Trait Implementations

impl !Send for ExprUnary

impl !Sync for ExprUnary

impl Freeze for ExprUnary

impl RefUnwindSafe for ExprUnary

impl Unpin for ExprUnary

impl UnsafeUnpin for ExprUnary

impl UnwindSafe for ExprUnary

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for ExprUnary

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

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

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

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

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