Enum rustc_ast::token::Nonterminal
source · pub enum Nonterminal {
NtItem(P<Item>),
NtBlock(P<Block>),
NtStmt(P<Stmt>),
NtPat(P<Pat>),
NtExpr(P<Expr>),
NtTy(P<Ty>),
NtIdent(Ident, IdentIsRaw),
NtLifetime(Ident),
NtLiteral(P<Expr>),
NtMeta(P<AttrItem>),
NtPath(P<Path>),
NtVis(P<Visibility>),
}
Expand description
For interpolation during macro expansion.
Variants§
NtItem(P<Item>)
NtBlock(P<Block>)
NtStmt(P<Stmt>)
NtPat(P<Pat>)
NtExpr(P<Expr>)
NtTy(P<Ty>)
NtIdent(Ident, IdentIsRaw)
NtLifetime(Ident)
NtLiteral(P<Expr>)
NtMeta(P<AttrItem>)
Stuff inside brackets for attributes
NtPath(P<Path>)
NtVis(P<Visibility>)
Implementations§
Trait Implementations§
source§impl Clone for Nonterminal
impl Clone for Nonterminal
source§fn clone(&self) -> Nonterminal
fn clone(&self) -> Nonterminal
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 Nonterminal
impl Debug for Nonterminal
source§impl<__D: SpanDecoder> Decodable<__D> for Nonterminal
impl<__D: SpanDecoder> Decodable<__D> for Nonterminal
source§impl<__E: SpanEncoder> Encodable<__E> for Nonterminal
impl<__E: SpanEncoder> Encodable<__E> for Nonterminal
source§impl HasTokens for Nonterminal
impl HasTokens for Nonterminal
fn tokens(&self) -> Option<&LazyAttrTokenStream>
fn tokens_mut(&mut self) -> Option<&mut Option<LazyAttrTokenStream>>
source§impl<CTX> HashStable<CTX> for Nonterminalwhere
CTX: HashStableContext,
impl<CTX> HashStable<CTX> for Nonterminalwhere
CTX: HashStableContext,
fn hash_stable(&self, _hcx: &mut CTX, _hasher: &mut StableHasher)
source§impl PartialEq for Nonterminal
impl PartialEq for Nonterminal
Auto Trait Implementations§
impl DynSend for Nonterminal
impl DynSync for Nonterminal
impl Freeze for Nonterminal
impl !RefUnwindSafe for Nonterminal
impl !Send for Nonterminal
impl !Sync for Nonterminal
impl Unpin for Nonterminal
impl !UnwindSafe for Nonterminal
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes
Size for each variant:
NtItem
: 15 bytesNtBlock
: 15 bytesNtStmt
: 15 bytesNtPat
: 15 bytesNtExpr
: 15 bytesNtTy
: 15 bytesNtIdent
: 15 bytesNtLifetime
: 15 bytesNtLiteral
: 15 bytesNtMeta
: 15 bytesNtPath
: 15 bytesNtVis
: 15 bytes