pub enum ExpressionKind<'hir> {
Show 15 variants
Array(&'hir [Expression<'hir>]),
Unary {
op: UnaryOp,
expr: &'hir Expression<'hir>,
},
Ref(&'hir Expression<'hir>),
Deref(&'hir Expression<'hir>),
Logical {
left: &'hir Expression<'hir>,
op: LogicalOp,
right: &'hir Expression<'hir>,
},
Comparison {
left: &'hir Expression<'hir>,
op: CmpOp,
right: &'hir Expression<'hir>,
},
Arithmetic {
left: &'hir Expression<'hir>,
op: ArithmeticOp,
right: &'hir Expression<'hir>,
},
Ternary {
cond: &'hir Expression<'hir>,
if_true: &'hir Expression<'hir>,
if_false: &'hir Expression<'hir>,
},
Assignment {
left: &'hir Expression<'hir>,
right: &'hir Expression<'hir>,
},
Variable(Path),
Literal(LitValue),
Call {
callee: &'hir Expression<'hir>,
args: &'hir [Expression<'hir>],
},
Cast {
expr: &'hir Expression<'hir>,
to: &'hir Type<'hir>,
},
ArrayAccess {
arr: &'hir Expression<'hir>,
index: &'hir Expression<'hir>,
},
StructAccess {
st: &'hir Expression<'hir>,
field: Ident,
},
}Variants§
Array(&'hir [Expression<'hir>])
Unary
Ref(&'hir Expression<'hir>)
Deref(&'hir Expression<'hir>)
Logical
Comparison
Arithmetic
Ternary
Fields
§
cond: &'hir Expression<'hir>§
if_true: &'hir Expression<'hir>§
if_false: &'hir Expression<'hir>Assignment
Variable(Path)
Literal(LitValue)
Call
Cast
ArrayAccess
StructAccess
Trait Implementations§
Auto Trait Implementations§
impl<'hir> Freeze for ExpressionKind<'hir>
impl<'hir> !RefUnwindSafe for ExpressionKind<'hir>
impl<'hir> !Send for ExpressionKind<'hir>
impl<'hir> !Sync for ExpressionKind<'hir>
impl<'hir> Unpin for ExpressionKind<'hir>
impl<'hir> !UnwindSafe for ExpressionKind<'hir>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more