[−][src]Enum arithmetic_parser::Statement
pub enum Statement<'a, T> where
T: Grammar, { Expr(SpannedExpr<'a, T>), Assignment { lhs: SpannedLvalue<'a, T::Type>, rhs: Box<SpannedExpr<'a, T>>, }, }
Statement: an expression or a variable assignment.
Variants
Expr(SpannedExpr<'a, T>)
Expression, e.g., x + (1, 2)
.
Assigment, e.g., (x, y) = (5, 8)
.
Fields of Assignment
lhs: SpannedLvalue<'a, T::Type>
LHS of the assignment.
rhs: Box<SpannedExpr<'a, T>>
RHS of the assignment.
Trait Implementations
impl<'_, T: Grammar> Clone for Statement<'_, T>
[src][+]
impl<'a, T: Debug> Debug for Statement<'a, T> where
T: Grammar,
T::Type: Debug,
[src][+]
T: Grammar,
T::Type: Debug,
impl<'_, T> PartialEq<Statement<'_, T>> for Statement<'_, T> where
T: Grammar,
T::Lit: PartialEq,
T::Type: PartialEq,
[src][+]
T: Grammar,
T::Lit: PartialEq,
T::Type: PartialEq,
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Statement<'a, T> where
<T as Grammar>::Lit: RefUnwindSafe,
<T as Grammar>::Type: RefUnwindSafe,
<T as Grammar>::Lit: RefUnwindSafe,
<T as Grammar>::Type: RefUnwindSafe,
impl<'a, T> Send for Statement<'a, T> where
<T as Grammar>::Lit: Send,
<T as Grammar>::Type: Send,
<T as Grammar>::Lit: Send,
<T as Grammar>::Type: Send,
impl<'a, T> Sync for Statement<'a, T> where
<T as Grammar>::Lit: Sync,
<T as Grammar>::Type: Sync,
<T as Grammar>::Lit: Sync,
<T as Grammar>::Type: Sync,
impl<'a, T> Unpin for Statement<'a, T> where
<T as Grammar>::Lit: Unpin,
<T as Grammar>::Type: Unpin,
<T as Grammar>::Lit: Unpin,
<T as Grammar>::Type: Unpin,
impl<'a, T> UnwindSafe for Statement<'a, T> where
<T as Grammar>::Lit: UnwindSafe,
<T as Grammar>::Type: UnwindSafe,
<T as Grammar>::Lit: UnwindSafe,
<T as Grammar>::Type: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,