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 for ReferenceExpr
impl PartialEq for ReferenceExpr
impl Eq for ReferenceExpr
impl StructuralPartialEq for ReferenceExpr
Auto Trait Implementations§
impl Freeze for ReferenceExpr
impl RefUnwindSafe for ReferenceExpr
impl !Send for ReferenceExpr
impl !Sync for ReferenceExpr
impl Unpin for ReferenceExpr
impl UnwindSafe for ReferenceExpr
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