Enum proc_easy::ReferenceExpr
source · pub enum ReferenceExpr {
Member {
member: Member,
},
Expr {
const_: Const,
expr: Expr,
},
}
Expand description
Expression that may be a constant or a reference to member field. Often used pattern is having attribute that refer to a field or constant expression.
Examples
/// Peeking first `const` token it decides to parse `Expr` variant.
let re: ReferenceExpr = parse_quote!(const 42);
assert_eq!(re, ReferenceExpr::Expr { const_: parse_quote!(const), expr: parse_quote!(42) });
/// Without `const` token it decides to parse `Member` variant.
let re: ReferenceExpr = parse_quote!(foo);
assert_eq!(re, ReferenceExpr::Member { member: format_ident!("foo").into() });
Variants§
Trait Implementations§
source§impl Clone for ReferenceExpr
impl Clone for ReferenceExpr
source§fn clone(&self) -> ReferenceExpr
fn clone(&self) -> ReferenceExpr
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ReferenceExpr
impl Debug for ReferenceExpr
source§impl Parse for ReferenceExpr
impl Parse for ReferenceExpr
source§impl PartialEq<ReferenceExpr> for ReferenceExpr
impl PartialEq<ReferenceExpr> for ReferenceExpr
source§fn eq(&self, other: &ReferenceExpr) -> bool
fn eq(&self, other: &ReferenceExpr) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.