third_party_rust_syn/syn.json

8721 lines
154 KiB
JSON

{
"version": "0.15.26",
"types": [
{
"node": "struct",
"ident": "Abi",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "extern_token",
"type": {
"token": "Extern"
}
},
{
"ident": "name",
"type": {
"option": {
"syn": "LitStr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "AngleBracketedGenericArguments",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "colon2_token",
"type": {
"option": {
"token": "Colon2"
}
}
},
{
"ident": "lt_token",
"type": {
"token": "Lt"
}
},
{
"ident": "args",
"type": {
"punctuated": {
"element": {
"syn": "GenericArgument"
},
"punct": "Comma"
}
}
},
{
"ident": "gt_token",
"type": {
"token": "Gt"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgCaptured",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "pat",
"type": {
"syn": "Pat"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgSelf",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "self_token",
"type": {
"token": "SelfValue"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ArgSelfRef",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "and_token",
"type": {
"token": "And"
}
},
{
"ident": "lifetime",
"type": {
"option": {
"syn": "Lifetime"
}
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "self_token",
"type": {
"token": "SelfValue"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Arm",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "leading_vert",
"type": {
"option": {
"token": "Or"
}
}
},
{
"ident": "pats",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
}
},
{
"ident": "guard",
"type": {
"option": {
"tuple": [
{
"token": "If"
},
{
"box": {
"syn": "Expr"
}
}
]
}
}
},
{
"ident": "fat_arrow_token",
"type": {
"token": "FatArrow"
}
},
{
"ident": "body",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "comma",
"type": {
"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": [
{
"ident": "pound_token",
"type": {
"token": "Pound"
}
},
{
"ident": "style",
"type": {
"syn": "AttrStyle"
}
},
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "path",
"type": {
"syn": "Path"
}
},
{
"ident": "tts",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "BareFnArg",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "name",
"type": {
"option": {
"tuple": [
{
"syn": "BareFnArgName"
},
{
"token": "Colon"
}
]
}
}
},
{
"ident": "ty",
"type": {
"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": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Block",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "stmts",
"type": {
"vec": {
"syn": "Stmt"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "BoundLifetimes",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "for_token",
"type": {
"token": "For"
}
},
{
"ident": "lt_token",
"type": {
"token": "Lt"
}
},
{
"ident": "lifetimes",
"type": {
"punctuated": {
"element": {
"syn": "LifetimeDef"
},
"punct": "Comma"
}
}
},
{
"ident": "gt_token",
"type": {
"token": "Gt"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ConstParam",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "const_token",
"type": {
"token": "Const"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
},
{
"ident": "eq_token",
"type": {
"option": {
"token": "Eq"
}
}
},
{
"ident": "default",
"type": {
"option": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Constraint",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "bounds",
"type": {
"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": [
{
"ident": "enum_token",
"type": {
"token": "Enum"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "variants",
"type": {
"punctuated": {
"element": {
"syn": "Variant"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DataStruct",
"features": {
"any": [
"derive"
]
},
"fields": [
{
"ident": "struct_token",
"type": {
"token": "Struct"
}
},
{
"ident": "fields",
"type": {
"syn": "Fields"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DataUnion",
"features": {
"any": [
"derive"
]
},
"fields": [
{
"ident": "union_token",
"type": {
"token": "Union"
}
},
{
"ident": "fields",
"type": {
"syn": "FieldsNamed"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "DeriveInput",
"features": {
"any": [
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "data",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "elems",
"type": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAssign",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "left",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "right",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAssignOp",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "left",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "op",
"type": {
"syn": "BinOp"
}
},
{
"ident": "right",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprAsync",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "async_token",
"type": {
"token": "Async"
}
},
{
"ident": "capture",
"type": {
"option": {
"token": "Move"
}
}
},
{
"ident": "block",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBinary",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "left",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "op",
"type": {
"syn": "BinOp"
}
},
{
"ident": "right",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBlock",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Label"
}
}
},
{
"ident": "block",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBox",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "box_token",
"type": {
"token": "Box"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprBreak",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "break_token",
"type": {
"token": "Break"
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Lifetime"
}
}
},
{
"ident": "expr",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprCall",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "func",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "args",
"type": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprCast",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "as_token",
"type": {
"token": "As"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprClosure",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "asyncness",
"type": {
"option": {
"token": "Async"
}
}
},
{
"ident": "movability",
"type": {
"option": {
"token": "Static"
}
}
},
{
"ident": "capture",
"type": {
"option": {
"token": "Move"
}
}
},
{
"ident": "or1_token",
"type": {
"token": "Or"
}
},
{
"ident": "inputs",
"type": {
"punctuated": {
"element": {
"syn": "FnArg"
},
"punct": "Comma"
}
}
},
{
"ident": "or2_token",
"type": {
"token": "Or"
}
},
{
"ident": "output",
"type": {
"syn": "ReturnType"
}
},
{
"ident": "body",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprContinue",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "continue_token",
"type": {
"token": "Continue"
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Lifetime"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprField",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "base",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "dot_token",
"type": {
"token": "Dot"
}
},
{
"ident": "member",
"type": {
"syn": "Member"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprForLoop",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Label"
}
}
},
{
"ident": "for_token",
"type": {
"token": "For"
}
},
{
"ident": "pat",
"type": {
"box": {
"syn": "Pat"
}
}
},
{
"ident": "in_token",
"type": {
"token": "In"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "body",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprGroup",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "group_token",
"type": {
"group": "Group"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprIf",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "if_token",
"type": {
"token": "If"
}
},
{
"ident": "cond",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "then_branch",
"type": {
"syn": "Block"
}
},
{
"ident": "else_branch",
"type": {
"option": {
"tuple": [
{
"token": "Else"
},
{
"box": {
"syn": "Expr"
}
}
]
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprInPlace",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "place",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "arrow_token",
"type": {
"token": "LArrow"
}
},
{
"ident": "value",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprIndex",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "index",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLet",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "let_token",
"type": {
"token": "Let"
}
},
{
"ident": "pats",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLit",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "lit",
"type": {
"syn": "Lit"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprLoop",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Label"
}
}
},
{
"ident": "loop_token",
"type": {
"token": "Loop"
}
},
{
"ident": "body",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "mac",
"type": {
"syn": "Macro"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMatch",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "match_token",
"type": {
"token": "Match"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "arms",
"type": {
"vec": {
"syn": "Arm"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprMethodCall",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "receiver",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "dot_token",
"type": {
"token": "Dot"
}
},
{
"ident": "method",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "turbofish",
"type": {
"option": {
"syn": "MethodTurbofish"
}
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "args",
"type": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprParen",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprPath",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "qself",
"type": {
"option": {
"syn": "QSelf"
}
}
},
{
"ident": "path",
"type": {
"syn": "Path"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprRange",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "from",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
},
{
"ident": "limits",
"type": {
"syn": "RangeLimits"
}
},
{
"ident": "to",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprReference",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "and_token",
"type": {
"token": "And"
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprRepeat",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
},
{
"ident": "len",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprReturn",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "return_token",
"type": {
"token": "Return"
}
},
{
"ident": "expr",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprStruct",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "path",
"type": {
"syn": "Path"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "fields",
"type": {
"punctuated": {
"element": {
"syn": "FieldValue"
},
"punct": "Comma"
}
}
},
{
"ident": "dot2_token",
"type": {
"option": {
"token": "Dot2"
}
}
},
{
"ident": "rest",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTry",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "question_token",
"type": {
"token": "Question"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTryBlock",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "try_token",
"type": {
"token": "Try"
}
},
{
"ident": "block",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprTuple",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "elems",
"type": {
"punctuated": {
"element": {
"syn": "Expr"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprType",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprUnary",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "op",
"type": {
"syn": "UnOp"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprUnsafe",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "unsafe_token",
"type": {
"token": "Unsafe"
}
},
{
"ident": "block",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "tts",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprWhile",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "label",
"type": {
"option": {
"syn": "Label"
}
}
},
{
"ident": "while_token",
"type": {
"token": "While"
}
},
{
"ident": "cond",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "body",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ExprYield",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "yield_token",
"type": {
"token": "Yield"
}
},
{
"ident": "expr",
"type": {
"option": {
"box": {
"syn": "Expr"
}
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Field",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "ident",
"type": {
"option": {
"proc_macro2": "Ident"
}
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldPat",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "member",
"type": {
"syn": "Member"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "pat",
"type": {
"box": {
"syn": "Pat"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldValue",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "member",
"type": {
"syn": "Member"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "expr",
"type": {
"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": [
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "named",
"type": {
"punctuated": {
"element": {
"syn": "Field"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "FieldsUnnamed",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "unnamed",
"type": {
"punctuated": {
"element": {
"syn": "Field"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "File",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "shebang",
"type": {
"option": {
"std": "String"
}
}
},
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "items",
"type": {
"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": [
{
"ident": "fn_token",
"type": {
"token": "Fn"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "inputs",
"type": {
"punctuated": {
"element": {
"syn": "FnArg"
},
"punct": "Comma"
}
}
},
{
"ident": "variadic",
"type": {
"option": {
"token": "Dot3"
}
}
},
{
"ident": "output",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "decl",
"type": {
"box": {
"syn": "FnDecl"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "mac",
"type": {
"syn": "Macro"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemStatic",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "static_token",
"type": {
"token": "Static"
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemType",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ForeignItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "tts",
"type": {
"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": [
{
"ident": "lt_token",
"type": {
"option": {
"token": "Lt"
}
}
},
{
"ident": "params",
"type": {
"punctuated": {
"element": {
"syn": "GenericParam"
},
"punct": "Comma"
}
}
},
{
"ident": "gt_token",
"type": {
"option": {
"token": "Gt"
}
}
},
{
"ident": "where_clause",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "defaultness",
"type": {
"option": {
"token": "Default"
}
}
},
{
"ident": "const_token",
"type": {
"token": "Const"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "expr",
"type": {
"syn": "Expr"
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemExistential",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "existential_token",
"type": {
"token": "Existential"
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "mac",
"type": {
"syn": "Macro"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemMethod",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "defaultness",
"type": {
"option": {
"token": "Default"
}
}
},
{
"ident": "sig",
"type": {
"syn": "MethodSig"
}
},
{
"ident": "block",
"type": {
"syn": "Block"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemType",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "defaultness",
"type": {
"option": {
"token": "Default"
}
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ImplItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "tts",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Index",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "index",
"type": {
"std": "u32"
}
},
{
"ident": "span",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "const_token",
"type": {
"token": "Const"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemEnum",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "enum_token",
"type": {
"token": "Enum"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "variants",
"type": {
"punctuated": {
"element": {
"syn": "Variant"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemExistential",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "existential_token",
"type": {
"token": "Existential"
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemExternCrate",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "extern_token",
"type": {
"token": "Extern"
}
},
{
"ident": "crate_token",
"type": {
"token": "Crate"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "rename",
"type": {
"option": {
"tuple": [
{
"token": "As"
},
{
"proc_macro2": "Ident"
}
]
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemFn",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "constness",
"type": {
"option": {
"token": "Const"
}
}
},
{
"ident": "unsafety",
"type": {
"option": {
"token": "Unsafe"
}
}
},
{
"ident": "asyncness",
"type": {
"option": {
"token": "Async"
}
}
},
{
"ident": "abi",
"type": {
"option": {
"syn": "Abi"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "decl",
"type": {
"box": {
"syn": "FnDecl"
}
}
},
{
"ident": "block",
"type": {
"box": {
"syn": "Block"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemForeignMod",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "abi",
"type": {
"syn": "Abi"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "items",
"type": {
"vec": {
"syn": "ForeignItem"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemImpl",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "defaultness",
"type": {
"option": {
"token": "Default"
}
}
},
{
"ident": "unsafety",
"type": {
"option": {
"token": "Unsafe"
}
}
},
{
"ident": "impl_token",
"type": {
"token": "Impl"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "trait_",
"type": {
"option": {
"tuple": [
{
"option": {
"token": "Bang"
}
},
{
"syn": "Path"
},
{
"token": "For"
}
]
}
}
},
{
"ident": "self_ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "items",
"type": {
"vec": {
"syn": "ImplItem"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "ident",
"type": {
"option": {
"proc_macro2": "Ident"
}
}
},
{
"ident": "mac",
"type": {
"syn": "Macro"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMacro2",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "macro_token",
"type": {
"token": "Macro"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "args",
"type": {
"proc_macro2": "TokenStream"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "body",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemMod",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "mod_token",
"type": {
"token": "Mod"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "content",
"type": {
"option": {
"tuple": [
{
"group": "Brace"
},
{
"vec": {
"syn": "Item"
}
}
]
}
}
},
{
"ident": "semi",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemStatic",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "static_token",
"type": {
"token": "Static"
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemStruct",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "struct_token",
"type": {
"token": "Struct"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "fields",
"type": {
"syn": "Fields"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemTrait",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "unsafety",
"type": {
"option": {
"token": "Unsafe"
}
}
},
{
"ident": "auto_token",
"type": {
"option": {
"token": "Auto"
}
}
},
{
"ident": "trait_token",
"type": {
"token": "Trait"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "supertraits",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "items",
"type": {
"vec": {
"syn": "TraitItem"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemTraitAlias",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "trait_token",
"type": {
"token": "Trait"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemType",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemUnion",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "union_token",
"type": {
"token": "Union"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "fields",
"type": {
"syn": "FieldsNamed"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemUse",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "vis",
"type": {
"syn": "Visibility"
}
},
{
"ident": "use_token",
"type": {
"token": "Use"
}
},
{
"ident": "leading_colon",
"type": {
"option": {
"token": "Colon2"
}
}
},
{
"ident": "tree",
"type": {
"syn": "UseTree"
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "ItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "tts",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Label",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "name",
"type": {
"syn": "Lifetime"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Lifetime",
"features": {
"any": []
},
"fields": [
{
"ident": "apostrophe",
"type": {
"proc_macro2": "Span"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "LifetimeDef",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "lifetime",
"type": {
"syn": "Lifetime"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "bounds",
"type": {
"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": [
{
"ident": "value",
"type": {
"std": "bool"
}
},
{
"ident": "span",
"type": {
"proc_macro2": "Span"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "LitByte",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitByteStr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitChar",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitFloat",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitInt",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitStr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": false
},
{
"node": "struct",
"ident": "LitVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "token",
"type": {
"proc_macro2": "Literal"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Local",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "let_token",
"type": {
"token": "Let"
}
},
{
"ident": "pats",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Or"
}
}
},
{
"ident": "ty",
"type": {
"option": {
"tuple": [
{
"token": "Colon"
},
{
"box": {
"syn": "Type"
}
}
]
}
}
},
{
"ident": "init",
"type": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"box": {
"syn": "Expr"
}
}
]
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Macro",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "path",
"type": {
"syn": "Path"
}
},
{
"ident": "bang_token",
"type": {
"token": "Bang"
}
},
{
"ident": "delimiter",
"type": {
"syn": "MacroDelimiter"
}
},
{
"ident": "tts",
"type": {
"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": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "nested",
"type": {
"punctuated": {
"element": {
"syn": "NestedMeta"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MetaNameValue",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "lit",
"type": {
"syn": "Lit"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MethodSig",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "constness",
"type": {
"option": {
"token": "Const"
}
}
},
{
"ident": "unsafety",
"type": {
"option": {
"token": "Unsafe"
}
}
},
{
"ident": "asyncness",
"type": {
"option": {
"token": "Async"
}
}
},
{
"ident": "abi",
"type": {
"option": {
"syn": "Abi"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "decl",
"type": {
"syn": "FnDecl"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "MethodTurbofish",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "colon2_token",
"type": {
"token": "Colon2"
}
},
{
"ident": "lt_token",
"type": {
"token": "Lt"
}
},
{
"ident": "args",
"type": {
"punctuated": {
"element": {
"syn": "GenericMethodArgument"
},
"punct": "Comma"
}
}
},
{
"ident": "gt_token",
"type": {
"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": [
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "inputs",
"type": {
"punctuated": {
"element": {
"syn": "Type"
},
"punct": "Comma"
}
}
},
{
"ident": "output",
"type": {
"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": [
{
"ident": "box_token",
"type": {
"token": "Box"
}
},
{
"ident": "pat",
"type": {
"box": {
"syn": "Pat"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatIdent",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "by_ref",
"type": {
"option": {
"token": "Ref"
}
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "subpat",
"type": {
"option": {
"tuple": [
{
"token": "At"
},
{
"box": {
"syn": "Pat"
}
}
]
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatLit",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "expr",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "mac",
"type": {
"syn": "Macro"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatPath",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "qself",
"type": {
"option": {
"syn": "QSelf"
}
}
},
{
"ident": "path",
"type": {
"syn": "Path"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatRange",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "lo",
"type": {
"box": {
"syn": "Expr"
}
}
},
{
"ident": "limits",
"type": {
"syn": "RangeLimits"
}
},
{
"ident": "hi",
"type": {
"box": {
"syn": "Expr"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatRef",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "and_token",
"type": {
"token": "And"
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "pat",
"type": {
"box": {
"syn": "Pat"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatSlice",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "front",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
},
{
"ident": "middle",
"type": {
"option": {
"box": {
"syn": "Pat"
}
}
}
},
{
"ident": "dot2_token",
"type": {
"option": {
"token": "Dot2"
}
}
},
{
"ident": "comma_token",
"type": {
"option": {
"token": "Comma"
}
}
},
{
"ident": "back",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatStruct",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "path",
"type": {
"syn": "Path"
}
},
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "fields",
"type": {
"punctuated": {
"element": {
"syn": "FieldPat"
},
"punct": "Comma"
}
}
},
{
"ident": "dot2_token",
"type": {
"option": {
"token": "Dot2"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatTuple",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "front",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
},
{
"ident": "dot2_token",
"type": {
"option": {
"token": "Dot2"
}
}
},
{
"ident": "comma_token",
"type": {
"option": {
"token": "Comma"
}
}
},
{
"ident": "back",
"type": {
"punctuated": {
"element": {
"syn": "Pat"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatTupleStruct",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "path",
"type": {
"syn": "Path"
}
},
{
"ident": "pat",
"type": {
"syn": "PatTuple"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatVerbatim",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "tts",
"type": {
"proc_macro2": "TokenStream"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PatWild",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "underscore_token",
"type": {
"token": "Underscore"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "Path",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "leading_colon",
"type": {
"option": {
"token": "Colon2"
}
}
},
{
"ident": "segments",
"type": {
"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": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "arguments",
"type": {
"syn": "PathArguments"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateEq",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "lhs_ty",
"type": {
"syn": "Type"
}
},
{
"ident": "eq_token",
"type": {
"token": "Eq"
}
},
{
"ident": "rhs_ty",
"type": {
"syn": "Type"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateLifetime",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "lifetime",
"type": {
"syn": "Lifetime"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "Lifetime"
},
"punct": "Add"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "PredicateType",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "lifetimes",
"type": {
"option": {
"syn": "BoundLifetimes"
}
}
},
{
"ident": "bounded_ty",
"type": {
"syn": "Type"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "QSelf",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "lt_token",
"type": {
"token": "Lt"
}
},
{
"ident": "ty",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "position",
"type": {
"std": "usize"
}
},
{
"ident": "as_token",
"type": {
"option": {
"token": "As"
}
}
},
{
"ident": "gt_token",
"type": {
"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": [
{
"ident": "paren_token",
"type": {
"option": {
"group": "Paren"
}
}
},
{
"ident": "modifier",
"type": {
"syn": "TraitBoundModifier"
}
},
{
"ident": "lifetimes",
"type": {
"option": {
"syn": "BoundLifetimes"
}
}
},
{
"ident": "path",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "const_token",
"type": {
"token": "Const"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"token": "Colon"
}
},
{
"ident": "ty",
"type": {
"syn": "Type"
}
},
{
"ident": "default",
"type": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Expr"
}
]
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemMacro",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "mac",
"type": {
"syn": "Macro"
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemMethod",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "sig",
"type": {
"syn": "MethodSig"
}
},
{
"ident": "default",
"type": {
"option": {
"syn": "Block"
}
}
},
{
"ident": "semi_token",
"type": {
"option": {
"token": "Semi"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemType",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "type_token",
"type": {
"token": "Type"
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "generics",
"type": {
"syn": "Generics"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "default",
"type": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Type"
}
]
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TraitItemVerbatim",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "tts",
"type": {
"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": [
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
},
{
"ident": "semi_token",
"type": {
"token": "Semi"
}
},
{
"ident": "len",
"type": {
"syn": "Expr"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeBareFn",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "lifetimes",
"type": {
"option": {
"syn": "BoundLifetimes"
}
}
},
{
"ident": "unsafety",
"type": {
"option": {
"token": "Unsafe"
}
}
},
{
"ident": "abi",
"type": {
"option": {
"syn": "Abi"
}
}
},
{
"ident": "fn_token",
"type": {
"token": "Fn"
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "inputs",
"type": {
"punctuated": {
"element": {
"syn": "BareFnArg"
},
"punct": "Comma"
}
}
},
{
"ident": "variadic",
"type": {
"option": {
"token": "Dot3"
}
}
},
{
"ident": "output",
"type": {
"syn": "ReturnType"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeGroup",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "group_token",
"type": {
"group": "Group"
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeImplTrait",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "impl_token",
"type": {
"token": "Impl"
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeInfer",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "underscore_token",
"type": {
"token": "Underscore"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeMacro",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "mac",
"type": {
"syn": "Macro"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeNever",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "bang_token",
"type": {
"token": "Bang"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeParam",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon_token",
"type": {
"option": {
"token": "Colon"
}
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
},
{
"ident": "eq_token",
"type": {
"option": {
"token": "Eq"
}
}
},
{
"ident": "default",
"type": {
"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": [
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypePath",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "qself",
"type": {
"option": {
"syn": "QSelf"
}
}
},
{
"ident": "path",
"type": {
"syn": "Path"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypePtr",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "star_token",
"type": {
"token": "Star"
}
},
{
"ident": "const_token",
"type": {
"option": {
"token": "Const"
}
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeReference",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "and_token",
"type": {
"token": "And"
}
},
{
"ident": "lifetime",
"type": {
"option": {
"syn": "Lifetime"
}
}
},
{
"ident": "mutability",
"type": {
"option": {
"token": "Mut"
}
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeSlice",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "bracket_token",
"type": {
"group": "Bracket"
}
},
{
"ident": "elem",
"type": {
"box": {
"syn": "Type"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeTraitObject",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "dyn_token",
"type": {
"option": {
"token": "Dyn"
}
}
},
{
"ident": "bounds",
"type": {
"punctuated": {
"element": {
"syn": "TypeParamBound"
},
"punct": "Add"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeTuple",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "elems",
"type": {
"punctuated": {
"element": {
"syn": "Type"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "TypeVerbatim",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "tts",
"type": {
"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": [
{
"ident": "star_token",
"type": {
"token": "Star"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseGroup",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "brace_token",
"type": {
"group": "Brace"
}
},
{
"ident": "items",
"type": {
"punctuated": {
"element": {
"syn": "UseTree"
},
"punct": "Comma"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseName",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UsePath",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "colon2_token",
"type": {
"token": "Colon2"
}
},
{
"ident": "tree",
"type": {
"box": {
"syn": "UseTree"
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "UseRename",
"features": {
"any": [
"full"
]
},
"fields": [
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "as_token",
"type": {
"token": "As"
}
},
{
"ident": "rename",
"type": {
"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": [
{
"ident": "attrs",
"type": {
"vec": {
"syn": "Attribute"
}
}
},
{
"ident": "ident",
"type": {
"proc_macro2": "Ident"
}
},
{
"ident": "fields",
"type": {
"syn": "Fields"
}
},
{
"ident": "discriminant",
"type": {
"option": {
"tuple": [
{
"token": "Eq"
},
{
"syn": "Expr"
}
]
}
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisCrate",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "crate_token",
"type": {
"token": "Crate"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisPublic",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "pub_token",
"type": {
"token": "Pub"
}
}
],
"all_fields_pub": true
},
{
"node": "struct",
"ident": "VisRestricted",
"features": {
"any": [
"full",
"derive"
]
},
"fields": [
{
"ident": "pub_token",
"type": {
"token": "Pub"
}
},
{
"ident": "paren_token",
"type": {
"group": "Paren"
}
},
{
"ident": "in_token",
"type": {
"option": {
"token": "In"
}
}
},
{
"ident": "path",
"type": {
"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": [
{
"ident": "where_token",
"type": {
"token": "Where"
}
},
{
"ident": "predicates",
"type": {
"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"
}
}