[][src]Enum arithmetic_parser::ExprType

#[non_exhaustive]pub enum ExprType {
    Variable,
    Literal,
    FnDefinition,
    Function,
    Method,
    Unary,
    Binary,
    Tuple,
    Block,
}

Type of an Expr.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Variable

Variable use, e.g., x.

Literal

Literal (semantic depends on the grammar).

FnDefinition

Function definition, e.g., |x, y| { x + y }.

Function

Function call, e.g., foo(x, y) or |x| { x + 5 }(3).

Method

Method call, e.g., foo.bar(x, 5).

Unary

Unary operation, e.g., -x.

Binary

Binary operation, e.g., x + 1.

Tuple

Tuple expression, e.g., (x, y + z).

Block

Block expression, e.g., { x = 3; x + y }.

Trait Implementations

impl Clone for ExprType[src]

impl Copy for ExprType[src]

impl Debug for ExprType[src]

impl Display for ExprType[src]

impl Eq for ExprType[src]

impl Hash for ExprType[src]

impl PartialEq<ExprType> for ExprType[src]

impl StructuralEq for ExprType[src]

impl StructuralPartialEq for ExprType[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.