Enum rustc_ast::token::NonterminalKind [−][src]
pub enum NonterminalKind {
Show 14 variants
Item,
Block,
Stmt,
PatParam {
inferred: bool,
},
PatWithOr,
Expr,
Ty,
Ident,
Lifetime,
Literal,
Meta,
Path,
Vis,
TT,
}
Variants
Fields of PatParam
inferred: bool
Keep track of whether the user used :pat_param
or :pat
and we inferred it from the
edition of the span. This is used for diagnostics.
Implementations
pub 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.
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for NonterminalKind
impl Send for NonterminalKind
impl Sync for NonterminalKind
impl Unpin for NonterminalKind
impl UnwindSafe for NonterminalKind
Blanket Implementations
Mutably borrows from an owned value. Read more
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 bytesTy
: 0 bytesIdent
: 0 bytesLifetime
: 0 bytesLiteral
: 0 bytesMeta
: 0 bytesPath
: 0 bytesVis
: 0 bytesTT
: 0 bytes