#![allow(clippy::match_same_arms, clippy::too_many_lines)]
use num_derive::FromPrimitive;
#[derive(Clone, Debug, PartialEq, Eq, FromPrimitive)]
pub enum Rust {
End = 0,
Identifier = 1,
SEMI = 2,
MacroRulesBANG = 3,
LPAREN = 4,
RPAREN = 5,
LBRACK = 6,
RBRACK = 7,
LBRACE = 8,
RBRACE = 9,
EQGT = 10,
COLON = 11,
DOLLAR = 12,
TokenRepetitionPatternToken1 = 13,
PLUS = 14,
STAR = 15,
QMARK = 16,
Block2 = 17,
Expr = 18,
Expr2021 = 19,
Ident = 20,
Item = 21,
Lifetime2 = 22,
Literal = 23,
Meta = 24,
Pat = 25,
PatParam = 26,
Path = 27,
Stmt = 28,
Tt = 29,
Ty = 30,
Vis = 31,
PrimitiveType = 32,
PrimitiveType2 = 33,
PrimitiveType3 = 34,
PrimitiveType4 = 35,
PrimitiveType5 = 36,
PrimitiveType6 = 37,
PrimitiveType7 = 38,
PrimitiveType8 = 39,
PrimitiveType9 = 40,
PrimitiveType10 = 41,
PrimitiveType11 = 42,
PrimitiveType12 = 43,
PrimitiveType13 = 44,
PrimitiveType14 = 45,
PrimitiveType15 = 46,
PrimitiveType16 = 47,
PrimitiveType17 = 48,
DASH = 49,
SLASH = 50,
PERCENT = 51,
CARET = 52,
BANG = 53,
AMP = 54,
PIPE = 55,
AMPAMP = 56,
PIPEPIPE = 57,
LTLT = 58,
GTGT = 59,
PLUSEQ = 60,
DASHEQ = 61,
STAREQ = 62,
SLASHEQ = 63,
PERCENTEQ = 64,
CARETEQ = 65,
AMPEQ = 66,
PIPEEQ = 67,
LTLTEQ = 68,
GTGTEQ = 69,
EQ = 70,
EQEQ = 71,
BANGEQ = 72,
GT = 73,
LT = 74,
GTEQ = 75,
LTEQ = 76,
AT = 77,
UNDERSCORE = 78,
DOT = 79,
DOTDOT = 80,
DOTDOTDOT = 81,
DOTDOTEQ = 82,
COMMA = 83,
COLONCOLON = 84,
DASHGT = 85,
HASH = 86,
SQUOTE = 87,
As = 88,
Async = 89,
Await = 90,
Break = 91,
Const = 92,
Continue = 93,
Default = 94,
Enum = 95,
Fn = 96,
For = 97,
Gen = 98,
If = 99,
Impl = 100,
Let = 101,
Loop = 102,
Match = 103,
Mod = 104,
Pub = 105,
Return = 106,
Static = 107,
Struct = 108,
Trait = 109,
Type = 110,
Union = 111,
Unsafe = 112,
Use = 113,
Where = 114,
While = 115,
Extern = 116,
Ref = 117,
Else = 118,
In = 119,
LT2 = 120,
Dyn = 121,
MutableSpecifier = 122,
Raw = 123,
Yield = 124,
Move = 125,
Try = 126,
IntegerLiteral = 127,
DQUOTE = 128,
CharLiteral = 129,
EscapeSequence = 130,
True = 131,
False = 132,
SLASHSLASH = 133,
LineCommentToken1 = 134,
LineCommentToken2 = 135,
LineCommentToken3 = 136,
BANG2 = 137,
SLASH2 = 138,
SLASHSTAR = 139,
STARSLASH = 140,
Shebang = 141,
Zelf = 142,
Super = 143,
Crate = 144,
Metavariable = 145,
StringContent = 146,
DQUOTE2 = 147,
RawStringLiteralStart = 148,
StringContent2 = 149,
RawStringLiteralEnd = 150,
FloatLiteral = 151,
OuterDocCommentMarker = 152,
InnerDocCommentMarker = 153,
BlockCommentContent = 154,
DocComment = 155,
ErrorSentinel = 156,
SourceFile = 157,
Statement = 158,
EmptyStatement = 159,
ExpressionStatement = 160,
MacroDefinition = 161,
MacroRule = 162,
TokenPattern = 163,
TokenTreePattern = 164,
TokenBindingPattern = 165,
TokenRepetitionPattern = 166,
FragmentSpecifier = 167,
TokenTree = 168,
TokenRepetition = 169,
AttributeItem = 170,
InnerAttributeItem = 171,
Attribute = 172,
ModItem = 173,
ForeignModItem = 174,
DeclarationList = 175,
StructItem = 176,
UnionItem = 177,
EnumItem = 178,
EnumVariantList = 179,
EnumVariant = 180,
FieldDeclarationList = 181,
FieldDeclaration = 182,
OrderedFieldDeclarationList = 183,
ExternCrateDeclaration = 184,
ConstItem = 185,
StaticItem = 186,
TypeItem = 187,
FunctionItem = 188,
FunctionSignatureItem = 189,
FunctionModifiers = 190,
WhereClause = 191,
WherePredicate = 192,
ImplItem = 193,
TraitItem = 194,
AssociatedType = 195,
TraitBounds = 196,
HigherRankedTraitBound = 197,
RemovedTraitBound = 198,
TypeParameters = 199,
ConstParameter = 200,
TypeParameter = 201,
LifetimeParameter = 202,
LetDeclaration = 203,
UseDeclaration = 204,
UseClause = 205,
ScopedUseList = 206,
UseList = 207,
UseAsClause = 208,
UseWildcard = 209,
Parameters = 210,
SelfParameter = 211,
VariadicParameter = 212,
Parameter = 213,
ExternModifier = 214,
VisibilityModifier = 215,
Type2 = 216,
BracketedType = 217,
QualifiedType = 218,
Lifetime = 219,
ArrayType = 220,
ForLifetimes = 221,
FunctionType = 222,
TupleType = 223,
UnitType = 224,
GenericFunction = 225,
GenericType = 226,
GenericTypeWithTurbofish = 227,
BoundedType = 228,
UseBounds = 229,
TypeArguments = 230,
TypeBinding = 231,
ReferenceType = 232,
PointerType = 233,
NeverType = 234,
AbstractType = 235,
DynamicType = 236,
ExpressionExceptRange = 237,
Expression = 238,
MacroInvocation = 239,
TokenTree2 = 240,
DelimTokens = 241,
NonDelimToken = 242,
ScopedIdentifier = 243,
ScopedTypeIdentifier = 244,
ScopedTypeIdentifier2 = 245,
RangeExpression = 246,
UnaryExpression = 247,
TryExpression = 248,
ReferenceExpression = 249,
BinaryExpression = 250,
AssignmentExpression = 251,
CompoundAssignmentExpr = 252,
TypeCastExpression = 253,
ReturnExpression = 254,
YieldExpression = 255,
CallExpression = 256,
Arguments = 257,
ArrayExpression = 258,
ParenthesizedExpression = 259,
TupleExpression = 260,
UnitExpression = 261,
StructExpression = 262,
FieldInitializerList = 263,
ShorthandFieldInitializer = 264,
FieldInitializer = 265,
BaseFieldInitializer = 266,
IfExpression = 267,
LetCondition = 268,
LetChain2 = 269,
Condition = 270,
ElseClause = 271,
MatchExpression = 272,
MatchBlock = 273,
MatchArm = 274,
MatchArm2 = 275,
MatchPattern = 276,
WhileExpression = 277,
LoopExpression = 278,
ForExpression = 279,
ConstBlock = 280,
ClosureExpression = 281,
ClosureParameters = 282,
Label = 283,
BreakExpression = 284,
ContinueExpression = 285,
IndexExpression = 286,
AwaitExpression = 287,
FieldExpression = 288,
UnsafeBlock = 289,
AsyncBlock = 290,
GenBlock = 291,
TryBlock = 292,
Block = 293,
Pattern = 294,
GenericPattern = 295,
TuplePattern = 296,
SlicePattern = 297,
TupleStructPattern = 298,
StructPattern = 299,
FieldPattern = 300,
RemainingFieldPattern = 301,
MutPattern = 302,
RangePattern = 303,
RefPattern = 304,
CapturedPattern = 305,
ReferencePattern = 306,
OrPattern = 307,
Literal2 = 308,
LiteralPattern = 309,
NegativeLiteral = 310,
StringLiteral = 311,
RawStringLiteral = 312,
BooleanLiteral = 313,
LineComment = 314,
LineDocCommentMarker = 315,
InnerDocCommentMarker2 = 316,
OuterDocCommentMarker2 = 317,
BlockComment = 318,
BlockDocCommentMarker = 319,
SourceFileRepeat1 = 320,
MacroDefinitionRepeat1 = 321,
TokenTreePatternRepeat1 = 322,
TokenTreeRepeat1 = 323,
NonSpecialTokenRepeat1 = 324,
DeclarationListRepeat1 = 325,
EnumVariantListRepeat1 = 326,
EnumVariantListRepeat2 = 327,
FieldDeclarationListRepeat1 = 328,
OrderedFieldDeclarationListRepeat1 = 329,
FunctionModifiersRepeat1 = 330,
WhereClauseRepeat1 = 331,
TraitBoundsRepeat1 = 332,
TypeParametersRepeat1 = 333,
UseListRepeat1 = 334,
ParametersRepeat1 = 335,
ForLifetimesRepeat1 = 336,
TupleTypeRepeat1 = 337,
UseBoundsRepeat1 = 338,
TypeArgumentsRepeat1 = 339,
DelimTokenTreeRepeat1 = 340,
ArgumentsRepeat1 = 341,
TupleExpressionRepeat1 = 342,
FieldInitializerListRepeat1 = 343,
MatchBlockRepeat1 = 344,
MatchArmRepeat1 = 345,
ClosureParametersRepeat1 = 346,
TuplePatternRepeat1 = 347,
SlicePatternRepeat1 = 348,
StructPatternRepeat1 = 349,
StringLiteralRepeat1 = 350,
FieldIdentifier = 351,
LetChain = 352,
ShorthandFieldIdentifier = 353,
TypeIdentifier = 354,
Error = 355,
}
impl From<Rust> for &'static str {
#[inline]
fn from(tok: Rust) -> Self {
match tok {
Rust::End => "end",
Rust::Identifier => "identifier",
Rust::SEMI => ";",
Rust::MacroRulesBANG => "macro_rules!",
Rust::LPAREN => "(",
Rust::RPAREN => ")",
Rust::LBRACK => "[",
Rust::RBRACK => "]",
Rust::LBRACE => "{",
Rust::RBRACE => "}",
Rust::EQGT => "=>",
Rust::COLON => ":",
Rust::DOLLAR => "$",
Rust::TokenRepetitionPatternToken1 => "token_repetition_pattern_token1",
Rust::PLUS => "+",
Rust::STAR => "*",
Rust::QMARK => "?",
Rust::Block2 => "block",
Rust::Expr => "expr",
Rust::Expr2021 => "expr_2021",
Rust::Ident => "ident",
Rust::Item => "item",
Rust::Lifetime2 => "lifetime",
Rust::Literal => "literal",
Rust::Meta => "meta",
Rust::Pat => "pat",
Rust::PatParam => "pat_param",
Rust::Path => "path",
Rust::Stmt => "stmt",
Rust::Tt => "tt",
Rust::Ty => "ty",
Rust::Vis => "vis",
Rust::PrimitiveType => "primitive_type",
Rust::PrimitiveType2 => "primitive_type",
Rust::PrimitiveType3 => "primitive_type",
Rust::PrimitiveType4 => "primitive_type",
Rust::PrimitiveType5 => "primitive_type",
Rust::PrimitiveType6 => "primitive_type",
Rust::PrimitiveType7 => "primitive_type",
Rust::PrimitiveType8 => "primitive_type",
Rust::PrimitiveType9 => "primitive_type",
Rust::PrimitiveType10 => "primitive_type",
Rust::PrimitiveType11 => "primitive_type",
Rust::PrimitiveType12 => "primitive_type",
Rust::PrimitiveType13 => "primitive_type",
Rust::PrimitiveType14 => "primitive_type",
Rust::PrimitiveType15 => "primitive_type",
Rust::PrimitiveType16 => "primitive_type",
Rust::PrimitiveType17 => "primitive_type",
Rust::DASH => "-",
Rust::SLASH => "/",
Rust::PERCENT => "%",
Rust::CARET => "^",
Rust::BANG => "!",
Rust::AMP => "&",
Rust::PIPE => "|",
Rust::AMPAMP => "&&",
Rust::PIPEPIPE => "||",
Rust::LTLT => "<<",
Rust::GTGT => ">>",
Rust::PLUSEQ => "+=",
Rust::DASHEQ => "-=",
Rust::STAREQ => "*=",
Rust::SLASHEQ => "/=",
Rust::PERCENTEQ => "%=",
Rust::CARETEQ => "^=",
Rust::AMPEQ => "&=",
Rust::PIPEEQ => "|=",
Rust::LTLTEQ => "<<=",
Rust::GTGTEQ => ">>=",
Rust::EQ => "=",
Rust::EQEQ => "==",
Rust::BANGEQ => "!=",
Rust::GT => ">",
Rust::LT => "<",
Rust::GTEQ => ">=",
Rust::LTEQ => "<=",
Rust::AT => "@",
Rust::UNDERSCORE => "_",
Rust::DOT => ".",
Rust::DOTDOT => "..",
Rust::DOTDOTDOT => "...",
Rust::DOTDOTEQ => "..=",
Rust::COMMA => ",",
Rust::COLONCOLON => "::",
Rust::DASHGT => "->",
Rust::HASH => "#",
Rust::SQUOTE => "'",
Rust::As => "as",
Rust::Async => "async",
Rust::Await => "await",
Rust::Break => "break",
Rust::Const => "const",
Rust::Continue => "continue",
Rust::Default => "default",
Rust::Enum => "enum",
Rust::Fn => "fn",
Rust::For => "for",
Rust::Gen => "gen",
Rust::If => "if",
Rust::Impl => "impl",
Rust::Let => "let",
Rust::Loop => "loop",
Rust::Match => "match",
Rust::Mod => "mod",
Rust::Pub => "pub",
Rust::Return => "return",
Rust::Static => "static",
Rust::Struct => "struct",
Rust::Trait => "trait",
Rust::Type => "type",
Rust::Union => "union",
Rust::Unsafe => "unsafe",
Rust::Use => "use",
Rust::Where => "where",
Rust::While => "while",
Rust::Extern => "extern",
Rust::Ref => "ref",
Rust::Else => "else",
Rust::In => "in",
Rust::LT2 => "<",
Rust::Dyn => "dyn",
Rust::MutableSpecifier => "mutable_specifier",
Rust::Raw => "raw",
Rust::Yield => "yield",
Rust::Move => "move",
Rust::Try => "try",
Rust::IntegerLiteral => "integer_literal",
Rust::DQUOTE => "\"",
Rust::CharLiteral => "char_literal",
Rust::EscapeSequence => "escape_sequence",
Rust::True => "true",
Rust::False => "false",
Rust::SLASHSLASH => "//",
Rust::LineCommentToken1 => "line_comment_token1",
Rust::LineCommentToken2 => "line_comment_token2",
Rust::LineCommentToken3 => "line_comment_token3",
Rust::BANG2 => "!",
Rust::SLASH2 => "/",
Rust::SLASHSTAR => "/*",
Rust::STARSLASH => "*/",
Rust::Shebang => "shebang",
Rust::Zelf => "self",
Rust::Super => "super",
Rust::Crate => "crate",
Rust::Metavariable => "metavariable",
Rust::StringContent => "string_content",
Rust::DQUOTE2 => "\"",
Rust::RawStringLiteralStart => "_raw_string_literal_start",
Rust::StringContent2 => "string_content",
Rust::RawStringLiteralEnd => "_raw_string_literal_end",
Rust::FloatLiteral => "float_literal",
Rust::OuterDocCommentMarker => "outer_doc_comment_marker",
Rust::InnerDocCommentMarker => "inner_doc_comment_marker",
Rust::BlockCommentContent => "_block_comment_content",
Rust::DocComment => "doc_comment",
Rust::ErrorSentinel => "_error_sentinel",
Rust::SourceFile => "source_file",
Rust::Statement => "_statement",
Rust::EmptyStatement => "empty_statement",
Rust::ExpressionStatement => "expression_statement",
Rust::MacroDefinition => "macro_definition",
Rust::MacroRule => "macro_rule",
Rust::TokenPattern => "_token_pattern",
Rust::TokenTreePattern => "token_tree_pattern",
Rust::TokenBindingPattern => "token_binding_pattern",
Rust::TokenRepetitionPattern => "token_repetition_pattern",
Rust::FragmentSpecifier => "fragment_specifier",
Rust::TokenTree => "token_tree",
Rust::TokenRepetition => "token_repetition",
Rust::AttributeItem => "attribute_item",
Rust::InnerAttributeItem => "inner_attribute_item",
Rust::Attribute => "attribute",
Rust::ModItem => "mod_item",
Rust::ForeignModItem => "foreign_mod_item",
Rust::DeclarationList => "declaration_list",
Rust::StructItem => "struct_item",
Rust::UnionItem => "union_item",
Rust::EnumItem => "enum_item",
Rust::EnumVariantList => "enum_variant_list",
Rust::EnumVariant => "enum_variant",
Rust::FieldDeclarationList => "field_declaration_list",
Rust::FieldDeclaration => "field_declaration",
Rust::OrderedFieldDeclarationList => "ordered_field_declaration_list",
Rust::ExternCrateDeclaration => "extern_crate_declaration",
Rust::ConstItem => "const_item",
Rust::StaticItem => "static_item",
Rust::TypeItem => "type_item",
Rust::FunctionItem => "function_item",
Rust::FunctionSignatureItem => "function_signature_item",
Rust::FunctionModifiers => "function_modifiers",
Rust::WhereClause => "where_clause",
Rust::WherePredicate => "where_predicate",
Rust::ImplItem => "impl_item",
Rust::TraitItem => "trait_item",
Rust::AssociatedType => "associated_type",
Rust::TraitBounds => "trait_bounds",
Rust::HigherRankedTraitBound => "higher_ranked_trait_bound",
Rust::RemovedTraitBound => "removed_trait_bound",
Rust::TypeParameters => "type_parameters",
Rust::ConstParameter => "const_parameter",
Rust::TypeParameter => "type_parameter",
Rust::LifetimeParameter => "lifetime_parameter",
Rust::LetDeclaration => "let_declaration",
Rust::UseDeclaration => "use_declaration",
Rust::UseClause => "_use_clause",
Rust::ScopedUseList => "scoped_use_list",
Rust::UseList => "use_list",
Rust::UseAsClause => "use_as_clause",
Rust::UseWildcard => "use_wildcard",
Rust::Parameters => "parameters",
Rust::SelfParameter => "self_parameter",
Rust::VariadicParameter => "variadic_parameter",
Rust::Parameter => "parameter",
Rust::ExternModifier => "extern_modifier",
Rust::VisibilityModifier => "visibility_modifier",
Rust::Type2 => "_type",
Rust::BracketedType => "bracketed_type",
Rust::QualifiedType => "qualified_type",
Rust::Lifetime => "lifetime",
Rust::ArrayType => "array_type",
Rust::ForLifetimes => "for_lifetimes",
Rust::FunctionType => "function_type",
Rust::TupleType => "tuple_type",
Rust::UnitType => "unit_type",
Rust::GenericFunction => "generic_function",
Rust::GenericType => "generic_type",
Rust::GenericTypeWithTurbofish => "generic_type_with_turbofish",
Rust::BoundedType => "bounded_type",
Rust::UseBounds => "use_bounds",
Rust::TypeArguments => "type_arguments",
Rust::TypeBinding => "type_binding",
Rust::ReferenceType => "reference_type",
Rust::PointerType => "pointer_type",
Rust::NeverType => "never_type",
Rust::AbstractType => "abstract_type",
Rust::DynamicType => "dynamic_type",
Rust::ExpressionExceptRange => "_expression_except_range",
Rust::Expression => "_expression",
Rust::MacroInvocation => "macro_invocation",
Rust::TokenTree2 => "token_tree",
Rust::DelimTokens => "_delim_tokens",
Rust::NonDelimToken => "_non_delim_token",
Rust::ScopedIdentifier => "scoped_identifier",
Rust::ScopedTypeIdentifier => "scoped_type_identifier",
Rust::ScopedTypeIdentifier2 => "scoped_type_identifier",
Rust::RangeExpression => "range_expression",
Rust::UnaryExpression => "unary_expression",
Rust::TryExpression => "try_expression",
Rust::ReferenceExpression => "reference_expression",
Rust::BinaryExpression => "binary_expression",
Rust::AssignmentExpression => "assignment_expression",
Rust::CompoundAssignmentExpr => "compound_assignment_expr",
Rust::TypeCastExpression => "type_cast_expression",
Rust::ReturnExpression => "return_expression",
Rust::YieldExpression => "yield_expression",
Rust::CallExpression => "call_expression",
Rust::Arguments => "arguments",
Rust::ArrayExpression => "array_expression",
Rust::ParenthesizedExpression => "parenthesized_expression",
Rust::TupleExpression => "tuple_expression",
Rust::UnitExpression => "unit_expression",
Rust::StructExpression => "struct_expression",
Rust::FieldInitializerList => "field_initializer_list",
Rust::ShorthandFieldInitializer => "shorthand_field_initializer",
Rust::FieldInitializer => "field_initializer",
Rust::BaseFieldInitializer => "base_field_initializer",
Rust::IfExpression => "if_expression",
Rust::LetCondition => "let_condition",
Rust::LetChain2 => "_let_chain",
Rust::Condition => "_condition",
Rust::ElseClause => "else_clause",
Rust::MatchExpression => "match_expression",
Rust::MatchBlock => "match_block",
Rust::MatchArm => "match_arm",
Rust::MatchArm2 => "match_arm",
Rust::MatchPattern => "match_pattern",
Rust::WhileExpression => "while_expression",
Rust::LoopExpression => "loop_expression",
Rust::ForExpression => "for_expression",
Rust::ConstBlock => "const_block",
Rust::ClosureExpression => "closure_expression",
Rust::ClosureParameters => "closure_parameters",
Rust::Label => "label",
Rust::BreakExpression => "break_expression",
Rust::ContinueExpression => "continue_expression",
Rust::IndexExpression => "index_expression",
Rust::AwaitExpression => "await_expression",
Rust::FieldExpression => "field_expression",
Rust::UnsafeBlock => "unsafe_block",
Rust::AsyncBlock => "async_block",
Rust::GenBlock => "gen_block",
Rust::TryBlock => "try_block",
Rust::Block => "block",
Rust::Pattern => "_pattern",
Rust::GenericPattern => "generic_pattern",
Rust::TuplePattern => "tuple_pattern",
Rust::SlicePattern => "slice_pattern",
Rust::TupleStructPattern => "tuple_struct_pattern",
Rust::StructPattern => "struct_pattern",
Rust::FieldPattern => "field_pattern",
Rust::RemainingFieldPattern => "remaining_field_pattern",
Rust::MutPattern => "mut_pattern",
Rust::RangePattern => "range_pattern",
Rust::RefPattern => "ref_pattern",
Rust::CapturedPattern => "captured_pattern",
Rust::ReferencePattern => "reference_pattern",
Rust::OrPattern => "or_pattern",
Rust::Literal2 => "_literal",
Rust::LiteralPattern => "_literal_pattern",
Rust::NegativeLiteral => "negative_literal",
Rust::StringLiteral => "string_literal",
Rust::RawStringLiteral => "raw_string_literal",
Rust::BooleanLiteral => "boolean_literal",
Rust::LineComment => "line_comment",
Rust::LineDocCommentMarker => "_line_doc_comment_marker",
Rust::InnerDocCommentMarker2 => "inner_doc_comment_marker",
Rust::OuterDocCommentMarker2 => "outer_doc_comment_marker",
Rust::BlockComment => "block_comment",
Rust::BlockDocCommentMarker => "_block_doc_comment_marker",
Rust::SourceFileRepeat1 => "source_file_repeat1",
Rust::MacroDefinitionRepeat1 => "macro_definition_repeat1",
Rust::TokenTreePatternRepeat1 => "token_tree_pattern_repeat1",
Rust::TokenTreeRepeat1 => "token_tree_repeat1",
Rust::NonSpecialTokenRepeat1 => "_non_special_token_repeat1",
Rust::DeclarationListRepeat1 => "declaration_list_repeat1",
Rust::EnumVariantListRepeat1 => "enum_variant_list_repeat1",
Rust::EnumVariantListRepeat2 => "enum_variant_list_repeat2",
Rust::FieldDeclarationListRepeat1 => "field_declaration_list_repeat1",
Rust::OrderedFieldDeclarationListRepeat1 => "ordered_field_declaration_list_repeat1",
Rust::FunctionModifiersRepeat1 => "function_modifiers_repeat1",
Rust::WhereClauseRepeat1 => "where_clause_repeat1",
Rust::TraitBoundsRepeat1 => "trait_bounds_repeat1",
Rust::TypeParametersRepeat1 => "type_parameters_repeat1",
Rust::UseListRepeat1 => "use_list_repeat1",
Rust::ParametersRepeat1 => "parameters_repeat1",
Rust::ForLifetimesRepeat1 => "for_lifetimes_repeat1",
Rust::TupleTypeRepeat1 => "tuple_type_repeat1",
Rust::UseBoundsRepeat1 => "use_bounds_repeat1",
Rust::TypeArgumentsRepeat1 => "type_arguments_repeat1",
Rust::DelimTokenTreeRepeat1 => "delim_token_tree_repeat1",
Rust::ArgumentsRepeat1 => "arguments_repeat1",
Rust::TupleExpressionRepeat1 => "tuple_expression_repeat1",
Rust::FieldInitializerListRepeat1 => "field_initializer_list_repeat1",
Rust::MatchBlockRepeat1 => "match_block_repeat1",
Rust::MatchArmRepeat1 => "match_arm_repeat1",
Rust::ClosureParametersRepeat1 => "closure_parameters_repeat1",
Rust::TuplePatternRepeat1 => "tuple_pattern_repeat1",
Rust::SlicePatternRepeat1 => "slice_pattern_repeat1",
Rust::StructPatternRepeat1 => "struct_pattern_repeat1",
Rust::StringLiteralRepeat1 => "string_literal_repeat1",
Rust::FieldIdentifier => "field_identifier",
Rust::LetChain => "let_chain",
Rust::ShorthandFieldIdentifier => "shorthand_field_identifier",
Rust::TypeIdentifier => "type_identifier",
Rust::Error => "ERROR",
}
}
}
impl From<u16> for Rust {
#[inline]
fn from(x: u16) -> Self {
num::FromPrimitive::from_u16(x).unwrap_or(Self::Error)
}
}
impl PartialEq<u16> for Rust {
#[inline]
fn eq(&self, x: &u16) -> bool {
*self == Into::<Self>::into(*x)
}
}
impl PartialEq<Rust> for u16 {
#[inline]
fn eq(&self, x: &Rust) -> bool {
*x == *self
}
}