third_party_rust_syn/syn.json
2019-02-15 14:23:51 -08:00

6831 lines
120 KiB
JSON

{
"version": "0.15.26",
"types": [
{
"node": "struct",
"ident": "Abi",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"extern_token": {
"token": "Extern"
},
"name": {
"option": {
"syn": "LitStr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "AngleBracketedGenericArguments",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"colon2_token": {
"option": {
"token": "Colon2"
}
},
"lt_token": {
"token": "Lt"
},
"args": {
"punctuated": {
"element": {
"syn": "GenericArgument"
},
"punct": "Comma"
}
},
"gt_token": {
"token": "Gt"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgCaptured",
"features": {
"any": [
"full"
]
},
"fields": {
"pat": {
"syn": "Pat"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"syn": "Type"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgSelf",
"features": {
"any": [
"full"
]
},
"fields": {
"mutability": {
"option": {
"token": "Mut"
}
},
"self_token": {
"token": "SelfValue"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgSelfRef",
"features": {
"any": [
"full"
]
},
"fields": {
"and_token": {
"token": "And"
},
"lifetime": {
"option": {
"syn": "Lifetime"
}
},
"mutability": {
"option": {
"token": "Mut"
}
},
"self_token": {
"token": "SelfValue"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Arm",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"leading_vert": {
"option": {
"token": "Or"
}
},
"pats": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
},
"guard": {
"option": {
"tuple": [
{
"token": "If"
},
{
"box": {
"syn": "Expr"
}
}
]
}
},
"fat_arrow_token": {
"token": "FatArrow"
},
"body": {
"box": {
"syn": "Expr"
}
},
"comma": {
"option": {
"token": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "AttrStyle",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Outer",
"fields": []
},
{
"ident": "Inner",
"fields": [
{
"token": "Bang"
}
]
}
]
},
{
"node": "struct",
"ident": "Attribute",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"pound_token": {
"token": "Pound"
},
"style": {
"syn": "AttrStyle"
},
"bracket_token": {
"group": "Bracket"
},
"path": {
"syn": "Path"
},
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "BareFnArg",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"name": {
"option": {
"tuple": [
{
"syn": "BareFnArgName"
},
{
"token": "Colon"
}
]
}
},
"ty": {
"syn": "Type"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "BareFnArgName",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Named",
"fields": [
{
"proc_macro2": "Ident"
}
]
},
{
"ident": "Wild",
"fields": [
{
"token": "Underscore"
}
]
}
]
},
{
"node": "enum",
"ident": "BinOp",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Add",
"fields": [
{
"token": "Add"
}
]
},
{
"ident": "Sub",
"fields": [
{
"token": "Sub"
}
]
},
{
"ident": "Mul",
"fields": [
{
"token": "Star"
}
]
},
{
"ident": "Div",
"fields": [
{
"token": "Div"
}
]
},
{
"ident": "Rem",
"fields": [
{
"token": "Rem"
}
]
},
{
"ident": "And",
"fields": [
{
"token": "AndAnd"
}
]
},
{
"ident": "Or",
"fields": [
{
"token": "OrOr"
}
]
},
{
"ident": "BitXor",
"fields": [
{
"token": "Caret"
}
]
},
{
"ident": "BitAnd",
"fields": [
{
"token": "And"
}
]
},
{
"ident": "BitOr",
"fields": [
{
"token": "Or"
}
]
},
{
"ident": "Shl",
"fields": [
{
"token": "Shl"
}
]
},
{
"ident": "Shr",
"fields": [
{
"token": "Shr"
}
]
},
{
"ident": "Eq",
"fields": [
{
"token": "EqEq"
}
]
},
{
"ident": "Lt",
"fields": [
{
"token": "Lt"
}
]
},
{
"ident": "Le",
"fields": [
{
"token": "Le"
}
]
},
{
"ident": "Ne",
"fields": [
{
"token": "Ne"
}
]
},
{
"ident": "Ge",
"fields": [
{
"token": "Ge"
}
]
},
{
"ident": "Gt",
"fields": [
{
"token": "Gt"
}
]
},
{
"ident": "AddEq",
"fields": [
{
"token": "AddEq"
}
]
},
{
"ident": "SubEq",
"fields": [
{
"token": "SubEq"
}
]
},
{
"ident": "MulEq",
"fields": [
{
"token": "MulEq"
}
]
},
{
"ident": "DivEq",
"fields": [
{
"token": "DivEq"
}
]
},
{
"ident": "RemEq",
"fields": [
{
"token": "RemEq"
}
]
},
{
"ident": "BitXorEq",
"fields": [
{
"token": "CaretEq"
}
]
},
{
"ident": "BitAndEq",
"fields": [
{
"token": "AndEq"
}
]
},
{
"ident": "BitOrEq",
"fields": [
{
"token": "OrEq"
}
]
},
{
"ident": "ShlEq",
"fields": [
{
"token": "ShlEq"
}
]
},
{
"ident": "ShrEq",
"fields": [
{
"token": "ShrEq"
}
]
}
]
},
{
"node": "struct",
"ident": "Binding",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"eq_token": {
"token": "Eq"
},
"ty": {
"syn": "Type"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Block",
"features": {
"any": [
"full"
]
},
"fields": {
"brace_token": {
"group": "Brace"
},
"stmts": {
"vec": {
"syn": "Stmt"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "BoundLifetimes",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"for_token": {
"token": "For"
},
"lt_token": {
"token": "Lt"
},
"lifetimes": {
"punctuated": {
"element": {
"syn": "LifetimeDef"
},
"punct": "Comma"
}
},
"gt_token": {
"token": "Gt"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ConstParam",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"const_token": {
"token": "Const"
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"syn": "Type"
},
"eq_token": {
"option": {
"token": "Eq"
}
},
"default": {
"option": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Constraint",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Data",
"features": {
"any": [
"derive"
]
},
"variants": [
{
"ident": "Struct",
"fields": [
{
"syn": "DataStruct"
}
]
},
{
"ident": "Enum",
"fields": [
{
"syn": "DataEnum"
}
]
},
{
"ident": "Union",
"fields": [
{
"syn": "DataUnion"
}
]
}
]
},
{
"node": "struct",
"ident": "DataEnum",
"features": {
"any": [
"derive"
]
},
"fields": {
"enum_token": {
"token": "Enum"
},
"brace_token": {
"group": "Brace"
},
"variants": {
"punctuated": {
"element": {
"syn": "Variant"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DataStruct",
"features": {
"any": [
"derive"
]
},
"fields": {
"struct_token": {
"token": "Struct"
},
"fields": {
"syn": "Fields"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DataUnion",
"features": {
"any": [
"derive"
]
},
"fields": {
"union_token": {
"token": "Union"
},
"fields": {
"syn": "FieldsNamed"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DeriveInput",
"features": {
"any": [
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"data": {
"syn": "Data"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Expr",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Box",
"fields": [
{
"syn": "ExprBox"
}
]
},
{
"ident": "InPlace",
"fields": [
{
"syn": "ExprInPlace"
}
]
},
{
"ident": "Array",
"fields": [
{
"syn": "ExprArray"
}
]
},
{
"ident": "Call",
"fields": [
{
"syn": "ExprCall"
}
]
},
{
"ident": "MethodCall",
"fields": [
{
"syn": "ExprMethodCall"
}
]
},
{
"ident": "Tuple",
"fields": [
{
"syn": "ExprTuple"
}
]
},
{
"ident": "Binary",
"fields": [
{
"syn": "ExprBinary"
}
]
},
{
"ident": "Unary",
"fields": [
{
"syn": "ExprUnary"
}
]
},
{
"ident": "Lit",
"fields": [
{
"syn": "ExprLit"
}
]
},
{
"ident": "Cast",
"fields": [
{
"syn": "ExprCast"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "ExprType"
}
]
},
{
"ident": "Let",
"fields": [
{
"syn": "ExprLet"
}
]
},
{
"ident": "If",
"fields": [
{
"syn": "ExprIf"
}
]
},
{
"ident": "While",
"fields": [
{
"syn": "ExprWhile"
}
]
},
{
"ident": "ForLoop",
"fields": [
{
"syn": "ExprForLoop"
}
]
},
{
"ident": "Loop",
"fields": [
{
"syn": "ExprLoop"
}
]
},
{
"ident": "Match",
"fields": [
{
"syn": "ExprMatch"
}
]
},
{
"ident": "Closure",
"fields": [
{
"syn": "ExprClosure"
}
]
},
{
"ident": "Unsafe",
"fields": [
{
"syn": "ExprUnsafe"
}
]
},
{
"ident": "Block",
"fields": [
{
"syn": "ExprBlock"
}
]
},
{
"ident": "Assign",
"fields": [
{
"syn": "ExprAssign"
}
]
},
{
"ident": "AssignOp",
"fields": [
{
"syn": "ExprAssignOp"
}
]
},
{
"ident": "Field",
"fields": [
{
"syn": "ExprField"
}
]
},
{
"ident": "Index",
"fields": [
{
"syn": "ExprIndex"
}
]
},
{
"ident": "Range",
"fields": [
{
"syn": "ExprRange"
}
]
},
{
"ident": "Path",
"fields": [
{
"syn": "ExprPath"
}
]
},
{
"ident": "Reference",
"fields": [
{
"syn": "ExprReference"
}
]
},
{
"ident": "Break",
"fields": [
{
"syn": "ExprBreak"
}
]
},
{
"ident": "Continue",
"fields": [
{
"syn": "ExprContinue"
}
]
},
{
"ident": "Return",
"fields": [
{
"syn": "ExprReturn"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "ExprMacro"
}
]
},
{
"ident": "Struct",
"fields": [
{
"syn": "ExprStruct"
}
]
},
{
"ident": "Repeat",
"fields": [
{
"syn": "ExprRepeat"
}
]
},
{
"ident": "Paren",
"fields": [
{
"syn": "ExprParen"
}
]
},
{
"ident": "Group",
"fields": [
{
"syn": "ExprGroup"
}
]
},
{
"ident": "Try",
"fields": [
{
"syn": "ExprTry"
}
]
},
{
"ident": "Async",
"fields": [
{
"syn": "ExprAsync"
}
]
},
{
"ident": "TryBlock",
"fields": [
{
"syn": "ExprTryBlock"
}
]
},
{
"ident": "Yield",
"fields": [
{
"syn": "ExprYield"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "ExprVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "ExprArray",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"bracket_token": {
"group": "Bracket"
},
"elems": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAssign",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"left": {
"box": {
"syn": "Expr"
}
},
"eq_token": {
"token": "Eq"
},
"right": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAssignOp",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"left": {
"box": {
"syn": "Expr"
}
},
"op": {
"syn": "BinOp"
},
"right": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAsync",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"async_token": {
"token": "Async"
},
"capture": {
"option": {
"token": "Move"
}
},
"block": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBinary",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"left": {
"box": {
"syn": "Expr"
}
},
"op": {
"syn": "BinOp"
},
"right": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBlock",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"label": {
"option": {
"syn": "Label"
}
},
"block": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBox",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"box_token": {
"token": "Box"
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBreak",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"break_token": {
"token": "Break"
},
"label": {
"option": {
"syn": "Lifetime"
}
},
"expr": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprCall",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"func": {
"box": {
"syn": "Expr"
}
},
"paren_token": {
"group": "Paren"
},
"args": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprCast",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"expr": {
"box": {
"syn": "Expr"
}
},
"as_token": {
"token": "As"
},
"ty": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprClosure",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"asyncness": {
"option": {
"token": "Async"
}
},
"movability": {
"option": {
"token": "Static"
}
},
"capture": {
"option": {
"token": "Move"
}
},
"or1_token": {
"token": "Or"
},
"inputs": {
"punctuated": {
"element": {
"syn": "FnArg"
},
"punct": "Comma"
}
},
"or2_token": {
"token": "Or"
},
"output": {
"syn": "ReturnType"
},
"body": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprContinue",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"continue_token": {
"token": "Continue"
},
"label": {
"option": {
"syn": "Lifetime"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprField",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"base": {
"box": {
"syn": "Expr"
}
},
"dot_token": {
"token": "Dot"
},
"member": {
"syn": "Member"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprForLoop",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"label": {
"option": {
"syn": "Label"
}
},
"for_token": {
"token": "For"
},
"pat": {
"box": {
"syn": "Pat"
}
},
"in_token": {
"token": "In"
},
"expr": {
"box": {
"syn": "Expr"
}
},
"body": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprGroup",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"group_token": {
"group": "Group"
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprIf",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"if_token": {
"token": "If"
},
"cond": {
"box": {
"syn": "Expr"
}
},
"then_branch": {
"syn": "Block"
},
"else_branch": {
"option": {
"tuple": [
{
"token": "Else"
},
{
"box": {
"syn": "Expr"
}
}
]
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprInPlace",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"place": {
"box": {
"syn": "Expr"
}
},
"arrow_token": {
"token": "LArrow"
},
"value": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprIndex",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"expr": {
"box": {
"syn": "Expr"
}
},
"bracket_token": {
"group": "Bracket"
},
"index": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLet",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"let_token": {
"token": "Let"
},
"pats": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
},
"eq_token": {
"token": "Eq"
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLit",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"lit": {
"syn": "Lit"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLoop",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"label": {
"option": {
"syn": "Label"
}
},
"loop_token": {
"token": "Loop"
},
"body": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"mac": {
"syn": "Macro"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMatch",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"match_token": {
"token": "Match"
},
"expr": {
"box": {
"syn": "Expr"
}
},
"brace_token": {
"group": "Brace"
},
"arms": {
"vec": {
"syn": "Arm"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMethodCall",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"receiver": {
"box": {
"syn": "Expr"
}
},
"dot_token": {
"token": "Dot"
},
"method": {
"proc_macro2": "Ident"
},
"turbofish": {
"option": {
"syn": "MethodTurbofish"
}
},
"paren_token": {
"group": "Paren"
},
"args": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprParen",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"paren_token": {
"group": "Paren"
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprPath",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"qself": {
"option": {
"syn": "QSelf"
}
},
"path": {
"syn": "Path"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprRange",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"from": {
"option": {
"box": {
"syn": "Expr"
}
}
},
"limits": {
"syn": "RangeLimits"
},
"to": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprReference",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"and_token": {
"token": "And"
},
"mutability": {
"option": {
"token": "Mut"
}
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprRepeat",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"bracket_token": {
"group": "Bracket"
},
"expr": {
"box": {
"syn": "Expr"
}
},
"semi_token": {
"token": "Semi"
},
"len": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprReturn",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"return_token": {
"token": "Return"
},
"expr": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprStruct",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"path": {
"syn": "Path"
},
"brace_token": {
"group": "Brace"
},
"fields": {
"punctuated": {
"element": {
"syn": "FieldValue"
},
"punct": "Comma"
}
},
"dot2_token": {
"option": {
"token": "Dot2"
}
},
"rest": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTry",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"expr": {
"box": {
"syn": "Expr"
}
},
"question_token": {
"token": "Question"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTryBlock",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"try_token": {
"token": "Try"
},
"block": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTuple",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"paren_token": {
"group": "Paren"
},
"elems": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprType",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"expr": {
"box": {
"syn": "Expr"
}
},
"colon_token": {
"token": "Colon"
},
"ty": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprUnary",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"op": {
"syn": "UnOp"
},
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprUnsafe",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"unsafe_token": {
"token": "Unsafe"
},
"block": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprWhile",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"label": {
"option": {
"syn": "Label"
}
},
"while_token": {
"token": "While"
},
"cond": {
"box": {
"syn": "Expr"
}
},
"body": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprYield",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"yield_token": {
"token": "Yield"
},
"expr": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Field",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"ident": {
"option": {
"proc_macro2": "Ident"
}
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"ty": {
"syn": "Type"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldPat",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"member": {
"syn": "Member"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"pat": {
"box": {
"syn": "Pat"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldValue",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"member": {
"syn": "Member"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"expr": {
"syn": "Expr"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Fields",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Named",
"fields": [
{
"syn": "FieldsNamed"
}
]
},
{
"ident": "Unnamed",
"fields": [
{
"syn": "FieldsUnnamed"
}
]
},
{
"ident": "Unit",
"fields": []
}
]
},
{
"node": "struct",
"ident": "FieldsNamed",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"brace_token": {
"group": "Brace"
},
"named": {
"punctuated": {
"element": {
"syn": "Field"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldsUnnamed",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"paren_token": {
"group": "Paren"
},
"unnamed": {
"punctuated": {
"element": {
"syn": "Field"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "File",
"features": {
"any": [
"full"
]
},
"fields": {
"shebang": {
"option": {
"std": "String"
}
},
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"items": {
"vec": {
"syn": "Item"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "FnArg",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "SelfRef",
"fields": [
{
"syn": "ArgSelfRef"
}
]
},
{
"ident": "SelfValue",
"fields": [
{
"syn": "ArgSelf"
}
]
},
{
"ident": "Captured",
"fields": [
{
"syn": "ArgCaptured"
}
]
},
{
"ident": "Inferred",
"fields": [
{
"syn": "Pat"
}
]
},
{
"ident": "Ignored",
"fields": [
{
"syn": "Type"
}
]
}
]
},
{
"node": "struct",
"ident": "FnDecl",
"features": {
"any": [
"full"
]
},
"fields": {
"fn_token": {
"token": "Fn"
},
"generics": {
"syn": "Generics"
},
"paren_token": {
"group": "Paren"
},
"inputs": {
"punctuated": {
"element": {
"syn": "FnArg"
},
"punct": "Comma"
}
},
"variadic": {
"option": {
"token": "Dot3"
}
},
"output": {
"syn": "ReturnType"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "ForeignItem",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Fn",
"fields": [
{
"syn": "ForeignItemFn"
}
]
},
{
"ident": "Static",
"fields": [
{
"syn": "ForeignItemStatic"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "ForeignItemType"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "ForeignItemMacro"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "ForeignItemVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "ForeignItemFn",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"ident": {
"proc_macro2": "Ident"
},
"decl": {
"box": {
"syn": "FnDecl"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"mac": {
"syn": "Macro"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemStatic",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"static_token": {
"token": "Static"
},
"mutability": {
"option": {
"token": "Mut"
}
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"box": {
"syn": "Type"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemType",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "GenericArgument",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Lifetime",
"fields": [
{
"syn": "Lifetime"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "Type"
}
]
},
{
"ident": "Binding",
"fields": [
{
"syn": "Binding"
}
]
},
{
"ident": "Constraint",
"fields": [
{
"syn": "Constraint"
}
]
},
{
"ident": "Const",
"fields": [
{
"syn": "Expr"
}
]
}
]
},
{
"node": "enum",
"ident": "GenericMethodArgument",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Type",
"fields": [
{
"syn": "Type"
}
]
},
{
"ident": "Const",
"fields": [
{
"syn": "Expr"
}
]
}
]
},
{
"node": "enum",
"ident": "GenericParam",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Type",
"fields": [
{
"syn": "TypeParam"
}
]
},
{
"ident": "Lifetime",
"fields": [
{
"syn": "LifetimeDef"
}
]
},
{
"ident": "Const",
"fields": [
{
"syn": "ConstParam"
}
]
}
]
},
{
"node": "struct",
"ident": "Generics",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lt_token": {
"option": {
"token": "Lt"
}
},
"params": {
"punctuated": {
"element": {
"syn": "GenericParam"
},
"punct": "Comma"
}
},
"gt_token": {
"option": {
"token": "Gt"
}
},
"where_clause": {
"option": {
"syn": "WhereClause"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "ImplItem",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Const",
"fields": [
{
"syn": "ImplItemConst"
}
]
},
{
"ident": "Method",
"fields": [
{
"syn": "ImplItemMethod"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "ImplItemType"
}
]
},
{
"ident": "Existential",
"fields": [
{
"syn": "ImplItemExistential"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "ImplItemMacro"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "ImplItemVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "ImplItemConst",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"defaultness": {
"option": {
"token": "Default"
}
},
"const_token": {
"token": "Const"
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"syn": "Type"
},
"eq_token": {
"token": "Eq"
},
"expr": {
"syn": "Expr"
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemExistential",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"existential_token": {
"token": "Existential"
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"mac": {
"syn": "Macro"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemMethod",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"defaultness": {
"option": {
"token": "Default"
}
},
"sig": {
"syn": "MethodSig"
},
"block": {
"syn": "Block"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemType",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"defaultness": {
"option": {
"token": "Default"
}
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"eq_token": {
"token": "Eq"
},
"ty": {
"syn": "Type"
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Index",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"index": {
"std": "u32"
},
"span": {
"proc_macro2": "Span"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Item",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "ExternCrate",
"fields": [
{
"syn": "ItemExternCrate"
}
]
},
{
"ident": "Use",
"fields": [
{
"syn": "ItemUse"
}
]
},
{
"ident": "Static",
"fields": [
{
"syn": "ItemStatic"
}
]
},
{
"ident": "Const",
"fields": [
{
"syn": "ItemConst"
}
]
},
{
"ident": "Fn",
"fields": [
{
"syn": "ItemFn"
}
]
},
{
"ident": "Mod",
"fields": [
{
"syn": "ItemMod"
}
]
},
{
"ident": "ForeignMod",
"fields": [
{
"syn": "ItemForeignMod"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "ItemType"
}
]
},
{
"ident": "Existential",
"fields": [
{
"syn": "ItemExistential"
}
]
},
{
"ident": "Struct",
"fields": [
{
"syn": "ItemStruct"
}
]
},
{
"ident": "Enum",
"fields": [
{
"syn": "ItemEnum"
}
]
},
{
"ident": "Union",
"fields": [
{
"syn": "ItemUnion"
}
]
},
{
"ident": "Trait",
"fields": [
{
"syn": "ItemTrait"
}
]
},
{
"ident": "TraitAlias",
"fields": [
{
"syn": "ItemTraitAlias"
}
]
},
{
"ident": "Impl",
"fields": [
{
"syn": "ItemImpl"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "ItemMacro"
}
]
},
{
"ident": "Macro2",
"fields": [
{
"syn": "ItemMacro2"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "ItemVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "ItemConst",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"const_token": {
"token": "Const"
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"box": {
"syn": "Type"
}
},
"eq_token": {
"token": "Eq"
},
"expr": {
"box": {
"syn": "Expr"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemEnum",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"enum_token": {
"token": "Enum"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"brace_token": {
"group": "Brace"
},
"variants": {
"punctuated": {
"element": {
"syn": "Variant"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemExistential",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"existential_token": {
"token": "Existential"
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemExternCrate",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"extern_token": {
"token": "Extern"
},
"crate_token": {
"token": "Crate"
},
"ident": {
"proc_macro2": "Ident"
},
"rename": {
"option": {
"tuple": [
{
"token": "As"
},
{
"proc_macro2": "Ident"
}
]
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemFn",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"constness": {
"option": {
"token": "Const"
}
},
"unsafety": {
"option": {
"token": "Unsafe"
}
},
"asyncness": {
"option": {
"token": "Async"
}
},
"abi": {
"option": {
"syn": "Abi"
}
},
"ident": {
"proc_macro2": "Ident"
},
"decl": {
"box": {
"syn": "FnDecl"
}
},
"block": {
"box": {
"syn": "Block"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemForeignMod",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"abi": {
"syn": "Abi"
},
"brace_token": {
"group": "Brace"
},
"items": {
"vec": {
"syn": "ForeignItem"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemImpl",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"defaultness": {
"option": {
"token": "Default"
}
},
"unsafety": {
"option": {
"token": "Unsafe"
}
},
"impl_token": {
"token": "Impl"
},
"generics": {
"syn": "Generics"
},
"trait_": {
"option": {
"tuple": [
{
"option": {
"token": "Bang"
}
},
{
"syn": "Path"
},
{
"token": "For"
}
]
}
},
"self_ty": {
"box": {
"syn": "Type"
}
},
"brace_token": {
"group": "Brace"
},
"items": {
"vec": {
"syn": "ImplItem"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"ident": {
"option": {
"proc_macro2": "Ident"
}
},
"mac": {
"syn": "Macro"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMacro2",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"macro_token": {
"token": "Macro"
},
"ident": {
"proc_macro2": "Ident"
},
"paren_token": {
"group": "Paren"
},
"args": {
"proc_macro2": "TokenStream"
},
"brace_token": {
"group": "Brace"
},
"body": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMod",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"mod_token": {
"token": "Mod"
},
"ident": {
"proc_macro2": "Ident"
},
"content": {
"option": {
"tuple": [
{
"group": "Brace"
},
{
"vec": {
"syn": "Item"
}
}
]
}
},
"semi": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemStatic",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"static_token": {
"token": "Static"
},
"mutability": {
"option": {
"token": "Mut"
}
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"box": {
"syn": "Type"
}
},
"eq_token": {
"token": "Eq"
},
"expr": {
"box": {
"syn": "Expr"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemStruct",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"struct_token": {
"token": "Struct"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"fields": {
"syn": "Fields"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemTrait",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"unsafety": {
"option": {
"token": "Unsafe"
}
},
"auto_token": {
"option": {
"token": "Auto"
}
},
"trait_token": {
"token": "Trait"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"supertraits": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"brace_token": {
"group": "Brace"
},
"items": {
"vec": {
"syn": "TraitItem"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemTraitAlias",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"trait_token": {
"token": "Trait"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"eq_token": {
"token": "Eq"
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemType",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"eq_token": {
"token": "Eq"
},
"ty": {
"box": {
"syn": "Type"
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemUnion",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"union_token": {
"token": "Union"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"fields": {
"syn": "FieldsNamed"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemUse",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"vis": {
"syn": "Visibility"
},
"use_token": {
"token": "Use"
},
"leading_colon": {
"option": {
"token": "Colon2"
}
},
"tree": {
"syn": "UseTree"
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Label",
"features": {
"any": [
"full"
]
},
"fields": {
"name": {
"syn": "Lifetime"
},
"colon_token": {
"token": "Colon"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Lifetime",
"features": {
"any": []
},
"fields": {
"apostrophe": {
"proc_macro2": "Span"
},
"ident": {
"proc_macro2": "Ident"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "LifetimeDef",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"lifetime": {
"syn": "Lifetime"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "Lifetime"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Lit",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Str",
"fields": [
{
"syn": "LitStr"
}
]
},
{
"ident": "ByteStr",
"fields": [
{
"syn": "LitByteStr"
}
]
},
{
"ident": "Byte",
"fields": [
{
"syn": "LitByte"
}
]
},
{
"ident": "Char",
"fields": [
{
"syn": "LitChar"
}
]
},
{
"ident": "Int",
"fields": [
{
"syn": "LitInt"
}
]
},
{
"ident": "Float",
"fields": [
{
"syn": "LitFloat"
}
]
},
{
"ident": "Bool",
"fields": [
{
"syn": "LitBool"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "LitVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "LitBool",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"value": {
"std": "bool"
},
"span": {
"proc_macro2": "Span"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "LitByte",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitByteStr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitChar",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitFloat",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitInt",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitStr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"token": {
"proc_macro2": "Literal"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Local",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"let_token": {
"token": "Let"
},
"pats": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
},
"ty": {
"option": {
"tuple": [
{
"token": "Colon"
},
{
"box": {
"syn": "Type"
}
}
]
}
},
"init": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"box": {
"syn": "Expr"
}
}
]
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Macro",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"path": {
"syn": "Path"
},
"bang_token": {
"token": "Bang"
},
"delimiter": {
"syn": "MacroDelimiter"
},
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "MacroDelimiter",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Paren",
"fields": [
{
"group": "Paren"
}
]
},
{
"ident": "Brace",
"fields": [
{
"group": "Brace"
}
]
},
{
"ident": "Bracket",
"fields": [
{
"group": "Bracket"
}
]
}
]
},
{
"node": "enum",
"ident": "Member",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Named",
"fields": [
{
"proc_macro2": "Ident"
}
]
},
{
"ident": "Unnamed",
"fields": [
{
"syn": "Index"
}
]
}
]
},
{
"node": "enum",
"ident": "Meta",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Word",
"fields": [
{
"proc_macro2": "Ident"
}
]
},
{
"ident": "List",
"fields": [
{
"syn": "MetaList"
}
]
},
{
"ident": "NameValue",
"fields": [
{
"syn": "MetaNameValue"
}
]
}
]
},
{
"node": "struct",
"ident": "MetaList",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"paren_token": {
"group": "Paren"
},
"nested": {
"punctuated": {
"element": {
"syn": "NestedMeta"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MetaNameValue",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"eq_token": {
"token": "Eq"
},
"lit": {
"syn": "Lit"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MethodSig",
"features": {
"any": [
"full"
]
},
"fields": {
"constness": {
"option": {
"token": "Const"
}
},
"unsafety": {
"option": {
"token": "Unsafe"
}
},
"asyncness": {
"option": {
"token": "Async"
}
},
"abi": {
"option": {
"syn": "Abi"
}
},
"ident": {
"proc_macro2": "Ident"
},
"decl": {
"syn": "FnDecl"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MethodTurbofish",
"features": {
"any": [
"full"
]
},
"fields": {
"colon2_token": {
"token": "Colon2"
},
"lt_token": {
"token": "Lt"
},
"args": {
"punctuated": {
"element": {
"syn": "GenericMethodArgument"
},
"punct": "Comma"
}
},
"gt_token": {
"token": "Gt"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "NestedMeta",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Meta",
"fields": [
{
"syn": "Meta"
}
]
},
{
"ident": "Literal",
"fields": [
{
"syn": "Lit"
}
]
}
]
},
{
"node": "struct",
"ident": "ParenthesizedGenericArguments",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"paren_token": {
"group": "Paren"
},
"inputs": {
"punctuated": {
"element": {
"syn": "Type"
},
"punct": "Comma"
}
},
"output": {
"syn": "ReturnType"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Pat",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Wild",
"fields": [
{
"syn": "PatWild"
}
]
},
{
"ident": "Ident",
"fields": [
{
"syn": "PatIdent"
}
]
},
{
"ident": "Struct",
"fields": [
{
"syn": "PatStruct"
}
]
},
{
"ident": "TupleStruct",
"fields": [
{
"syn": "PatTupleStruct"
}
]
},
{
"ident": "Path",
"fields": [
{
"syn": "PatPath"
}
]
},
{
"ident": "Tuple",
"fields": [
{
"syn": "PatTuple"
}
]
},
{
"ident": "Box",
"fields": [
{
"syn": "PatBox"
}
]
},
{
"ident": "Ref",
"fields": [
{
"syn": "PatRef"
}
]
},
{
"ident": "Lit",
"fields": [
{
"syn": "PatLit"
}
]
},
{
"ident": "Range",
"fields": [
{
"syn": "PatRange"
}
]
},
{
"ident": "Slice",
"fields": [
{
"syn": "PatSlice"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "PatMacro"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "PatVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "PatBox",
"features": {
"any": [
"full"
]
},
"fields": {
"box_token": {
"token": "Box"
},
"pat": {
"box": {
"syn": "Pat"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatIdent",
"features": {
"any": [
"full"
]
},
"fields": {
"by_ref": {
"option": {
"token": "Ref"
}
},
"mutability": {
"option": {
"token": "Mut"
}
},
"ident": {
"proc_macro2": "Ident"
},
"subpat": {
"option": {
"tuple": [
{
"token": "At"
},
{
"box": {
"syn": "Pat"
}
}
]
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatLit",
"features": {
"any": [
"full"
]
},
"fields": {
"expr": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"mac": {
"syn": "Macro"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatPath",
"features": {
"any": [
"full"
]
},
"fields": {
"qself": {
"option": {
"syn": "QSelf"
}
},
"path": {
"syn": "Path"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatRange",
"features": {
"any": [
"full"
]
},
"fields": {
"lo": {
"box": {
"syn": "Expr"
}
},
"limits": {
"syn": "RangeLimits"
},
"hi": {
"box": {
"syn": "Expr"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatRef",
"features": {
"any": [
"full"
]
},
"fields": {
"and_token": {
"token": "And"
},
"mutability": {
"option": {
"token": "Mut"
}
},
"pat": {
"box": {
"syn": "Pat"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatSlice",
"features": {
"any": [
"full"
]
},
"fields": {
"bracket_token": {
"group": "Bracket"
},
"front": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
},
"middle": {
"option": {
"box": {
"syn": "Pat"
}
}
},
"dot2_token": {
"option": {
"token": "Dot2"
}
},
"comma_token": {
"option": {
"token": "Comma"
}
},
"back": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatStruct",
"features": {
"any": [
"full"
]
},
"fields": {
"path": {
"syn": "Path"
},
"brace_token": {
"group": "Brace"
},
"fields": {
"punctuated": {
"element": {
"syn": "FieldPat"
},
"punct": "Comma"
}
},
"dot2_token": {
"option": {
"token": "Dot2"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatTuple",
"features": {
"any": [
"full"
]
},
"fields": {
"paren_token": {
"group": "Paren"
},
"front": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
},
"dot2_token": {
"option": {
"token": "Dot2"
}
},
"comma_token": {
"option": {
"token": "Comma"
}
},
"back": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatTupleStruct",
"features": {
"any": [
"full"
]
},
"fields": {
"path": {
"syn": "Path"
},
"pat": {
"syn": "PatTuple"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatVerbatim",
"features": {
"any": [
"full"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatWild",
"features": {
"any": [
"full"
]
},
"fields": {
"underscore_token": {
"token": "Underscore"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Path",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"leading_colon": {
"option": {
"token": "Colon2"
}
},
"segments": {
"punctuated": {
"element": {
"syn": "PathSegment"
},
"punct": "Colon2"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "PathArguments",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "None",
"fields": []
},
{
"ident": "AngleBracketed",
"fields": [
{
"syn": "AngleBracketedGenericArguments"
}
]
},
{
"ident": "Parenthesized",
"fields": [
{
"syn": "ParenthesizedGenericArguments"
}
]
}
]
},
{
"node": "struct",
"ident": "PathSegment",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"arguments": {
"syn": "PathArguments"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateEq",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lhs_ty": {
"syn": "Type"
},
"eq_token": {
"token": "Eq"
},
"rhs_ty": {
"syn": "Type"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateLifetime",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lifetime": {
"syn": "Lifetime"
},
"colon_token": {
"token": "Colon"
},
"bounds": {
"punctuated": {
"element": {
"syn": "Lifetime"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateType",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lifetimes": {
"option": {
"syn": "BoundLifetimes"
}
},
"bounded_ty": {
"syn": "Type"
},
"colon_token": {
"token": "Colon"
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "QSelf",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lt_token": {
"token": "Lt"
},
"ty": {
"box": {
"syn": "Type"
}
},
"position": {
"std": "usize"
},
"as_token": {
"option": {
"token": "As"
}
},
"gt_token": {
"token": "Gt"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "RangeLimits",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "HalfOpen",
"fields": [
{
"token": "Dot2"
}
]
},
{
"ident": "Closed",
"fields": [
{
"token": "DotDotEq"
}
]
}
]
},
{
"node": "enum",
"ident": "ReturnType",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Default",
"fields": []
},
{
"ident": "Type",
"fields": [
{
"token": "RArrow"
},
{
"box": {
"syn": "Type"
}
}
]
}
]
},
{
"node": "enum",
"ident": "Stmt",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Local",
"fields": [
{
"syn": "Local"
}
]
},
{
"ident": "Item",
"fields": [
{
"syn": "Item"
}
]
},
{
"ident": "Expr",
"fields": [
{
"syn": "Expr"
}
]
},
{
"ident": "Semi",
"fields": [
{
"syn": "Expr"
},
{
"token": "Semi"
}
]
}
]
},
{
"node": "struct",
"ident": "TraitBound",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"paren_token": {
"option": {
"group": "Paren"
}
},
"modifier": {
"syn": "TraitBoundModifier"
},
"lifetimes": {
"option": {
"syn": "BoundLifetimes"
}
},
"path": {
"syn": "Path"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "TraitBoundModifier",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "None",
"fields": []
},
{
"ident": "Maybe",
"fields": [
{
"token": "Question"
}
]
}
]
},
{
"node": "enum",
"ident": "TraitItem",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Const",
"fields": [
{
"syn": "TraitItemConst"
}
]
},
{
"ident": "Method",
"fields": [
{
"syn": "TraitItemMethod"
}
]
},
{
"ident": "Type",
"fields": [
{
"syn": "TraitItemType"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "TraitItemMacro"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "TraitItemVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "TraitItemConst",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"const_token": {
"token": "Const"
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"token": "Colon"
},
"ty": {
"syn": "Type"
},
"default": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Expr"
}
]
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemMacro",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"mac": {
"syn": "Macro"
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemMethod",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"sig": {
"syn": "MethodSig"
},
"default": {
"option": {
"syn": "Block"
}
},
"semi_token": {
"option": {
"token": "Semi"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemType",
"features": {
"any": [
"full"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"type_token": {
"token": "Type"
},
"ident": {
"proc_macro2": "Ident"
},
"generics": {
"syn": "Generics"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"default": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Type"
}
]
}
},
"semi_token": {
"token": "Semi"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Type",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Slice",
"fields": [
{
"syn": "TypeSlice"
}
]
},
{
"ident": "Array",
"fields": [
{
"syn": "TypeArray"
}
]
},
{
"ident": "Ptr",
"fields": [
{
"syn": "TypePtr"
}
]
},
{
"ident": "Reference",
"fields": [
{
"syn": "TypeReference"
}
]
},
{
"ident": "BareFn",
"fields": [
{
"syn": "TypeBareFn"
}
]
},
{
"ident": "Never",
"fields": [
{
"syn": "TypeNever"
}
]
},
{
"ident": "Tuple",
"fields": [
{
"syn": "TypeTuple"
}
]
},
{
"ident": "Path",
"fields": [
{
"syn": "TypePath"
}
]
},
{
"ident": "TraitObject",
"fields": [
{
"syn": "TypeTraitObject"
}
]
},
{
"ident": "ImplTrait",
"fields": [
{
"syn": "TypeImplTrait"
}
]
},
{
"ident": "Paren",
"fields": [
{
"syn": "TypeParen"
}
]
},
{
"ident": "Group",
"fields": [
{
"syn": "TypeGroup"
}
]
},
{
"ident": "Infer",
"fields": [
{
"syn": "TypeInfer"
}
]
},
{
"ident": "Macro",
"fields": [
{
"syn": "TypeMacro"
}
]
},
{
"ident": "Verbatim",
"fields": [
{
"syn": "TypeVerbatim"
}
]
}
]
},
{
"node": "struct",
"ident": "TypeArray",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"bracket_token": {
"group": "Bracket"
},
"elem": {
"box": {
"syn": "Type"
}
},
"semi_token": {
"token": "Semi"
},
"len": {
"syn": "Expr"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeBareFn",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"lifetimes": {
"option": {
"syn": "BoundLifetimes"
}
},
"unsafety": {
"option": {
"token": "Unsafe"
}
},
"abi": {
"option": {
"syn": "Abi"
}
},
"fn_token": {
"token": "Fn"
},
"paren_token": {
"group": "Paren"
},
"inputs": {
"punctuated": {
"element": {
"syn": "BareFnArg"
},
"punct": "Comma"
}
},
"variadic": {
"option": {
"token": "Dot3"
}
},
"output": {
"syn": "ReturnType"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeGroup",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"group_token": {
"group": "Group"
},
"elem": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeImplTrait",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"impl_token": {
"token": "Impl"
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeInfer",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"underscore_token": {
"token": "Underscore"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeMacro",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"mac": {
"syn": "Macro"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeNever",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"bang_token": {
"token": "Bang"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeParam",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"ident": {
"proc_macro2": "Ident"
},
"colon_token": {
"option": {
"token": "Colon"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
},
"eq_token": {
"option": {
"token": "Eq"
}
},
"default": {
"option": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "TypeParamBound",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Trait",
"fields": [
{
"syn": "TraitBound"
}
]
},
{
"ident": "Lifetime",
"fields": [
{
"syn": "Lifetime"
}
]
}
]
},
{
"node": "struct",
"ident": "TypeParen",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"paren_token": {
"group": "Paren"
},
"elem": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypePath",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"qself": {
"option": {
"syn": "QSelf"
}
},
"path": {
"syn": "Path"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypePtr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"star_token": {
"token": "Star"
},
"const_token": {
"option": {
"token": "Const"
}
},
"mutability": {
"option": {
"token": "Mut"
}
},
"elem": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeReference",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"and_token": {
"token": "And"
},
"lifetime": {
"option": {
"syn": "Lifetime"
}
},
"mutability": {
"option": {
"token": "Mut"
}
},
"elem": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeSlice",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"bracket_token": {
"group": "Bracket"
},
"elem": {
"box": {
"syn": "Type"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeTraitObject",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"dyn_token": {
"option": {
"token": "Dyn"
}
},
"bounds": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeTuple",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"paren_token": {
"group": "Paren"
},
"elems": {
"punctuated": {
"element": {
"syn": "Type"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"tts": {
"proc_macro2": "TokenStream"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "UnOp",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Deref",
"fields": [
{
"token": "Star"
}
]
},
{
"ident": "Not",
"fields": [
{
"token": "Bang"
}
]
},
{
"ident": "Neg",
"fields": [
{
"token": "Sub"
}
]
}
]
},
{
"node": "struct",
"ident": "UseGlob",
"features": {
"any": [
"full"
]
},
"fields": {
"star_token": {
"token": "Star"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseGroup",
"features": {
"any": [
"full"
]
},
"fields": {
"brace_token": {
"group": "Brace"
},
"items": {
"punctuated": {
"element": {
"syn": "UseTree"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseName",
"features": {
"any": [
"full"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UsePath",
"features": {
"any": [
"full"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"colon2_token": {
"token": "Colon2"
},
"tree": {
"box": {
"syn": "UseTree"
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseRename",
"features": {
"any": [
"full"
]
},
"fields": {
"ident": {
"proc_macro2": "Ident"
},
"as_token": {
"token": "As"
},
"rename": {
"proc_macro2": "Ident"
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "UseTree",
"features": {
"any": [
"full"
]
},
"variants": [
{
"ident": "Path",
"fields": [
{
"syn": "UsePath"
}
]
},
{
"ident": "Name",
"fields": [
{
"syn": "UseName"
}
]
},
{
"ident": "Rename",
"fields": [
{
"syn": "UseRename"
}
]
},
{
"ident": "Glob",
"fields": [
{
"syn": "UseGlob"
}
]
},
{
"ident": "Group",
"fields": [
{
"syn": "UseGroup"
}
]
}
]
},
{
"node": "struct",
"ident": "Variant",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"attrs": {
"vec": {
"syn": "Attribute"
}
},
"ident": {
"proc_macro2": "Ident"
},
"fields": {
"syn": "Fields"
},
"discriminant": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Expr"
}
]
}
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisCrate",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"crate_token": {
"token": "Crate"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisPublic",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"pub_token": {
"token": "Pub"
}
},
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisRestricted",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"pub_token": {
"token": "Pub"
},
"paren_token": {
"group": "Paren"
},
"in_token": {
"option": {
"token": "In"
}
},
"path": {
"box": {
"syn": "Path"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "Visibility",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Public",
"fields": [
{
"syn": "VisPublic"
}
]
},
{
"ident": "Crate",
"fields": [
{
"syn": "VisCrate"
}
]
},
{
"ident": "Restricted",
"fields": [
{
"syn": "VisRestricted"
}
]
},
{
"ident": "Inherited",
"fields": []
}
]
},
{
"node": "struct",
"ident": "WhereClause",
"features": {
"any": [
"full",
"derive"
]
},
"fields": {
"where_token": {
"token": "Where"
},
"predicates": {
"punctuated": {
"element": {
"syn": "WherePredicate"
},
"punct": "Comma"
}
}
},
"all_fields_pub": true
},
{
"node": "enum",
"ident": "WherePredicate",
"features": {
"any": [
"full",
"derive"
]
},
"variants": [
{
"ident": "Type",
"fields": [
{
"syn": "PredicateType"
}
]
},
{
"ident": "Lifetime",
"fields": [
{
"syn": "PredicateLifetime"
}
]
},
{
"ident": "Eq",
"fields": [
{
"syn": "PredicateEq"
}
]
}
]
}
],
"tokens": {
"Abstract": "abstract",
"Add": "+",
"AddEq": "+=",
"And": "&",
"AndAnd": "&&",
"AndEq": "&=",
"As": "as",
"Async": "async",
"At": "@",
"Auto": "auto",
"Bang": "!",
"Become": "become",
"Box": "box",
"Break": "break",
"Caret": "^",
"CaretEq": "^=",
"Colon": ":",
"Colon2": "::",
"Comma": ",",
"Const": "const",
"Continue": "continue",
"Crate": "crate",
"Default": "default",
"Div": "/",
"DivEq": "/=",
"Do": "do",
"Dot": ".",
"Dot2": "..",
"Dot3": "...",
"DotDotEq": "..=",
"Dyn": "dyn",
"Else": "else",
"Enum": "enum",
"Eq": "=",
"EqEq": "==",
"Existential": "existential",
"Extern": "extern",
"FatArrow": "=>",
"Final": "final",
"Fn": "fn",
"For": "for",
"Ge": ">=",
"Gt": ">",
"If": "if",
"Impl": "impl",
"In": "in",
"LArrow": "<-",
"Le": "<=",
"Let": "let",
"Loop": "loop",
"Lt": "<",
"Macro": "macro",
"Match": "match",
"Mod": "mod",
"Move": "move",
"MulEq": "*=",
"Mut": "mut",
"Ne": "!=",
"Or": "|",
"OrEq": "|=",
"OrOr": "||",
"Override": "override",
"Pound": "#",
"Priv": "priv",
"Pub": "pub",
"Question": "?",
"RArrow": "->",
"Ref": "ref",
"Rem": "%",
"RemEq": "%=",
"Return": "return",
"SelfType": "Self",
"SelfValue": "self",
"Semi": ";",
"Shl": "<<",
"ShlEq": "<<=",
"Shr": ">>",
"ShrEq": ">>=",
"Star": "*",
"Static": "static",
"Struct": "struct",
"Sub": "-",
"SubEq": "-=",
"Super": "super",
"Tilde": "~",
"Trait": "trait",
"Try": "try",
"Type": "type",
"Typeof": "typeof",
"Underscore": "_",
"Union": "union",
"Unsafe": "unsafe",
"Unsized": "unsized",
"Use": "use",
"Virtual": "virtual",
"Where": "where",
"While": "while",
"Yield": "yield"
}
}