Enum macrohelper::ConstExpr
[−]
pub enum ConstExpr { Call(Box<ConstExpr>, Vec<ConstExpr>), Binary(BinOp, Box<ConstExpr>, Box<ConstExpr>), Unary(UnOp, Box<ConstExpr>), Lit(Lit), Cast(Box<ConstExpr>, Box<Ty>), Path(Path), Index(Box<ConstExpr>, Box<ConstExpr>), Paren(Box<ConstExpr>), Other(Expr), }
Variants
Call(Box<ConstExpr>, Vec<ConstExpr>)
A function call
The first field resolves to the function itself, and the second field is the list of arguments
Binary(BinOp, Box<ConstExpr>, Box<ConstExpr>)
A binary operation (For example: a + b
, a * b
)
Unary(UnOp, Box<ConstExpr>)
A unary operation (For example: !x
, *x
)
Lit(Lit)
A literal (For example: 1
, "foo"
)
Cast(Box<ConstExpr>, Box<Ty>)
A cast (foo as f64
)
Path(Path)
Variable reference, possibly containing ::
and/or type
parameters, e.g. foo::bar::
Index(Box<ConstExpr>, Box<ConstExpr>)
An indexing operation (foo[2]
)
Paren(Box<ConstExpr>)
No-op: used solely so we can pretty-print faithfully
Other(Expr)
If compiling with full support for expression syntax, any expression is allowed
Trait Implementations
impl Debug for ConstExpr
fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl ToTokens for ConstExpr
fn to_tokens(&self, tokens: &mut Tokens)
impl PartialEq<ConstExpr> for ConstExpr
fn eq(&self, __arg_0: &ConstExpr) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ConstExpr) -> bool
This method tests for !=
.
impl Clone for ConstExpr
fn clone(&self) -> ConstExpr
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more