Enum rustc_ast::token::NonterminalKind
source · pub enum NonterminalKind {
Show 15 variants
Item,
Block,
Stmt,
PatParam {
inferred: bool,
},
PatWithOr,
Expr,
Expr2021,
Ty,
Ident,
Lifetime,
Literal,
Meta,
Path,
Vis,
TT,
}Variants§
Item
Block
Stmt
PatParam
Fields
PatWithOr
Expr
Expr2021
Matches an expression using the rules from edition 2021 and earlier.
Ty
Ident
Lifetime
Literal
Meta
Path
Vis
TT
Implementations§
source§impl NonterminalKind
impl NonterminalKind
sourcepub fn from_symbol(
symbol: Symbol,
edition: impl FnOnce() -> Edition
) -> Option<NonterminalKind>
pub fn from_symbol( symbol: Symbol, edition: impl FnOnce() -> Edition ) -> Option<NonterminalKind>
The edition closure is used to get the edition for the given symbol. Doing
span.edition() is expensive, so we do it lazily.
fn symbol(self) -> Symbol
Trait Implementations§
source§impl Clone for NonterminalKind
impl Clone for NonterminalKind
source§fn clone(&self) -> NonterminalKind
fn clone(&self) -> NonterminalKind
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 NonterminalKind
impl Debug for NonterminalKind
source§impl<__D: SpanDecoder> Decodable<__D> for NonterminalKind
impl<__D: SpanDecoder> Decodable<__D> for NonterminalKind
source§impl Display for NonterminalKind
impl Display for NonterminalKind
source§impl<__E: SpanEncoder> Encodable<__E> for NonterminalKind
impl<__E: SpanEncoder> Encodable<__E> for NonterminalKind
source§impl PartialEq for NonterminalKind
impl PartialEq for NonterminalKind
source§fn eq(&self, other: &NonterminalKind) -> bool
fn eq(&self, other: &NonterminalKind) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Copy for NonterminalKind
impl StructuralPartialEq for NonterminalKind
Auto Trait Implementations§
impl DynSend for NonterminalKind
impl DynSync for NonterminalKind
impl Freeze for NonterminalKind
impl RefUnwindSafe for NonterminalKind
impl Send for NonterminalKind
impl Sync for NonterminalKind
impl Unpin for NonterminalKind
impl UnwindSafe for NonterminalKind
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>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§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: 1 byte
Size for each variant:
Item: 0 bytesBlock: 0 bytesStmt: 0 bytesPatParam: 1 bytePatWithOr: 0 bytesExpr: 0 bytesExpr2021: 0 bytesTy: 0 bytesIdent: 0 bytesLifetime: 0 bytesLiteral: 0 bytesMeta: 0 bytesPath: 0 bytesVis: 0 bytesTT: 0 bytes