Enum syn::ConstExpr
[−]
[src]
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(Other), }
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(Other)
If compiling with full support for expression syntax, any expression is allowed
Trait Implementations
impl ToTokens for ConstExpr
[src]
impl Debug for ConstExpr
[src]
impl Clone for ConstExpr
[src]
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
impl Eq for ConstExpr
[src]
impl PartialEq for ConstExpr
[src]
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 Hash for ConstExpr
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.