1{ 2 "version": "1.0.107", 3 "types": [ 4 { 5 "ident": "Abi", 6 "features": { 7 "any": [ 8 "derive", 9 "full" 10 ] 11 }, 12 "fields": { 13 "extern_token": { 14 "token": "Extern" 15 }, 16 "name": { 17 "option": { 18 "syn": "LitStr" 19 } 20 } 21 } 22 }, 23 { 24 "ident": "AngleBracketedGenericArguments", 25 "features": { 26 "any": [ 27 "derive", 28 "full" 29 ] 30 }, 31 "fields": { 32 "colon2_token": { 33 "option": { 34 "token": "Colon2" 35 } 36 }, 37 "lt_token": { 38 "token": "Lt" 39 }, 40 "args": { 41 "punctuated": { 42 "element": { 43 "syn": "GenericArgument" 44 }, 45 "punct": "Comma" 46 } 47 }, 48 "gt_token": { 49 "token": "Gt" 50 } 51 } 52 }, 53 { 54 "ident": "Arm", 55 "features": { 56 "any": [ 57 "full" 58 ] 59 }, 60 "fields": { 61 "attrs": { 62 "vec": { 63 "syn": "Attribute" 64 } 65 }, 66 "pat": { 67 "syn": "Pat" 68 }, 69 "guard": { 70 "option": { 71 "tuple": [ 72 { 73 "token": "If" 74 }, 75 { 76 "box": { 77 "syn": "Expr" 78 } 79 } 80 ] 81 } 82 }, 83 "fat_arrow_token": { 84 "token": "FatArrow" 85 }, 86 "body": { 87 "box": { 88 "syn": "Expr" 89 } 90 }, 91 "comma": { 92 "option": { 93 "token": "Comma" 94 } 95 } 96 } 97 }, 98 { 99 "ident": "AttrStyle", 100 "features": { 101 "any": [ 102 "derive", 103 "full" 104 ] 105 }, 106 "variants": { 107 "Outer": [], 108 "Inner": [ 109 { 110 "token": "Bang" 111 } 112 ] 113 } 114 }, 115 { 116 "ident": "Attribute", 117 "features": { 118 "any": [ 119 "derive", 120 "full" 121 ] 122 }, 123 "fields": { 124 "pound_token": { 125 "token": "Pound" 126 }, 127 "style": { 128 "syn": "AttrStyle" 129 }, 130 "bracket_token": { 131 "group": "Bracket" 132 }, 133 "path": { 134 "syn": "Path" 135 }, 136 "tokens": { 137 "proc_macro2": "TokenStream" 138 } 139 } 140 }, 141 { 142 "ident": "BareFnArg", 143 "features": { 144 "any": [ 145 "derive", 146 "full" 147 ] 148 }, 149 "fields": { 150 "attrs": { 151 "vec": { 152 "syn": "Attribute" 153 } 154 }, 155 "name": { 156 "option": { 157 "tuple": [ 158 { 159 "proc_macro2": "Ident" 160 }, 161 { 162 "token": "Colon" 163 } 164 ] 165 } 166 }, 167 "ty": { 168 "syn": "Type" 169 } 170 } 171 }, 172 { 173 "ident": "BinOp", 174 "features": { 175 "any": [ 176 "derive", 177 "full" 178 ] 179 }, 180 "variants": { 181 "Add": [ 182 { 183 "token": "Add" 184 } 185 ], 186 "Sub": [ 187 { 188 "token": "Sub" 189 } 190 ], 191 "Mul": [ 192 { 193 "token": "Star" 194 } 195 ], 196 "Div": [ 197 { 198 "token": "Div" 199 } 200 ], 201 "Rem": [ 202 { 203 "token": "Rem" 204 } 205 ], 206 "And": [ 207 { 208 "token": "AndAnd" 209 } 210 ], 211 "Or": [ 212 { 213 "token": "OrOr" 214 } 215 ], 216 "BitXor": [ 217 { 218 "token": "Caret" 219 } 220 ], 221 "BitAnd": [ 222 { 223 "token": "And" 224 } 225 ], 226 "BitOr": [ 227 { 228 "token": "Or" 229 } 230 ], 231 "Shl": [ 232 { 233 "token": "Shl" 234 } 235 ], 236 "Shr": [ 237 { 238 "token": "Shr" 239 } 240 ], 241 "Eq": [ 242 { 243 "token": "EqEq" 244 } 245 ], 246 "Lt": [ 247 { 248 "token": "Lt" 249 } 250 ], 251 "Le": [ 252 { 253 "token": "Le" 254 } 255 ], 256 "Ne": [ 257 { 258 "token": "Ne" 259 } 260 ], 261 "Ge": [ 262 { 263 "token": "Ge" 264 } 265 ], 266 "Gt": [ 267 { 268 "token": "Gt" 269 } 270 ], 271 "AddEq": [ 272 { 273 "token": "AddEq" 274 } 275 ], 276 "SubEq": [ 277 { 278 "token": "SubEq" 279 } 280 ], 281 "MulEq": [ 282 { 283 "token": "MulEq" 284 } 285 ], 286 "DivEq": [ 287 { 288 "token": "DivEq" 289 } 290 ], 291 "RemEq": [ 292 { 293 "token": "RemEq" 294 } 295 ], 296 "BitXorEq": [ 297 { 298 "token": "CaretEq" 299 } 300 ], 301 "BitAndEq": [ 302 { 303 "token": "AndEq" 304 } 305 ], 306 "BitOrEq": [ 307 { 308 "token": "OrEq" 309 } 310 ], 311 "ShlEq": [ 312 { 313 "token": "ShlEq" 314 } 315 ], 316 "ShrEq": [ 317 { 318 "token": "ShrEq" 319 } 320 ] 321 } 322 }, 323 { 324 "ident": "Binding", 325 "features": { 326 "any": [ 327 "derive", 328 "full" 329 ] 330 }, 331 "fields": { 332 "ident": { 333 "proc_macro2": "Ident" 334 }, 335 "eq_token": { 336 "token": "Eq" 337 }, 338 "ty": { 339 "syn": "Type" 340 } 341 } 342 }, 343 { 344 "ident": "Block", 345 "features": { 346 "any": [ 347 "full" 348 ] 349 }, 350 "fields": { 351 "brace_token": { 352 "group": "Brace" 353 }, 354 "stmts": { 355 "vec": { 356 "syn": "Stmt" 357 } 358 } 359 } 360 }, 361 { 362 "ident": "BoundLifetimes", 363 "features": { 364 "any": [ 365 "derive", 366 "full" 367 ] 368 }, 369 "fields": { 370 "for_token": { 371 "token": "For" 372 }, 373 "lt_token": { 374 "token": "Lt" 375 }, 376 "lifetimes": { 377 "punctuated": { 378 "element": { 379 "syn": "LifetimeDef" 380 }, 381 "punct": "Comma" 382 } 383 }, 384 "gt_token": { 385 "token": "Gt" 386 } 387 } 388 }, 389 { 390 "ident": "ConstParam", 391 "features": { 392 "any": [ 393 "derive", 394 "full" 395 ] 396 }, 397 "fields": { 398 "attrs": { 399 "vec": { 400 "syn": "Attribute" 401 } 402 }, 403 "const_token": { 404 "token": "Const" 405 }, 406 "ident": { 407 "proc_macro2": "Ident" 408 }, 409 "colon_token": { 410 "token": "Colon" 411 }, 412 "ty": { 413 "syn": "Type" 414 }, 415 "eq_token": { 416 "option": { 417 "token": "Eq" 418 } 419 }, 420 "default": { 421 "option": { 422 "syn": "Expr" 423 } 424 } 425 } 426 }, 427 { 428 "ident": "Constraint", 429 "features": { 430 "any": [ 431 "derive", 432 "full" 433 ] 434 }, 435 "fields": { 436 "ident": { 437 "proc_macro2": "Ident" 438 }, 439 "colon_token": { 440 "token": "Colon" 441 }, 442 "bounds": { 443 "punctuated": { 444 "element": { 445 "syn": "TypeParamBound" 446 }, 447 "punct": "Add" 448 } 449 } 450 } 451 }, 452 { 453 "ident": "Data", 454 "features": { 455 "any": [ 456 "derive" 457 ] 458 }, 459 "variants": { 460 "Struct": [ 461 { 462 "syn": "DataStruct" 463 } 464 ], 465 "Enum": [ 466 { 467 "syn": "DataEnum" 468 } 469 ], 470 "Union": [ 471 { 472 "syn": "DataUnion" 473 } 474 ] 475 } 476 }, 477 { 478 "ident": "DataEnum", 479 "features": { 480 "any": [ 481 "derive" 482 ] 483 }, 484 "fields": { 485 "enum_token": { 486 "token": "Enum" 487 }, 488 "brace_token": { 489 "group": "Brace" 490 }, 491 "variants": { 492 "punctuated": { 493 "element": { 494 "syn": "Variant" 495 }, 496 "punct": "Comma" 497 } 498 } 499 } 500 }, 501 { 502 "ident": "DataStruct", 503 "features": { 504 "any": [ 505 "derive" 506 ] 507 }, 508 "fields": { 509 "struct_token": { 510 "token": "Struct" 511 }, 512 "fields": { 513 "syn": "Fields" 514 }, 515 "semi_token": { 516 "option": { 517 "token": "Semi" 518 } 519 } 520 } 521 }, 522 { 523 "ident": "DataUnion", 524 "features": { 525 "any": [ 526 "derive" 527 ] 528 }, 529 "fields": { 530 "union_token": { 531 "token": "Union" 532 }, 533 "fields": { 534 "syn": "FieldsNamed" 535 } 536 } 537 }, 538 { 539 "ident": "DeriveInput", 540 "features": { 541 "any": [ 542 "derive" 543 ] 544 }, 545 "fields": { 546 "attrs": { 547 "vec": { 548 "syn": "Attribute" 549 } 550 }, 551 "vis": { 552 "syn": "Visibility" 553 }, 554 "ident": { 555 "proc_macro2": "Ident" 556 }, 557 "generics": { 558 "syn": "Generics" 559 }, 560 "data": { 561 "syn": "Data" 562 } 563 } 564 }, 565 { 566 "ident": "Expr", 567 "features": { 568 "any": [ 569 "derive", 570 "full" 571 ] 572 }, 573 "variants": { 574 "Array": [ 575 { 576 "syn": "ExprArray" 577 } 578 ], 579 "Assign": [ 580 { 581 "syn": "ExprAssign" 582 } 583 ], 584 "AssignOp": [ 585 { 586 "syn": "ExprAssignOp" 587 } 588 ], 589 "Async": [ 590 { 591 "syn": "ExprAsync" 592 } 593 ], 594 "Await": [ 595 { 596 "syn": "ExprAwait" 597 } 598 ], 599 "Binary": [ 600 { 601 "syn": "ExprBinary" 602 } 603 ], 604 "Block": [ 605 { 606 "syn": "ExprBlock" 607 } 608 ], 609 "Box": [ 610 { 611 "syn": "ExprBox" 612 } 613 ], 614 "Break": [ 615 { 616 "syn": "ExprBreak" 617 } 618 ], 619 "Call": [ 620 { 621 "syn": "ExprCall" 622 } 623 ], 624 "Cast": [ 625 { 626 "syn": "ExprCast" 627 } 628 ], 629 "Closure": [ 630 { 631 "syn": "ExprClosure" 632 } 633 ], 634 "Continue": [ 635 { 636 "syn": "ExprContinue" 637 } 638 ], 639 "Field": [ 640 { 641 "syn": "ExprField" 642 } 643 ], 644 "ForLoop": [ 645 { 646 "syn": "ExprForLoop" 647 } 648 ], 649 "Group": [ 650 { 651 "syn": "ExprGroup" 652 } 653 ], 654 "If": [ 655 { 656 "syn": "ExprIf" 657 } 658 ], 659 "Index": [ 660 { 661 "syn": "ExprIndex" 662 } 663 ], 664 "Let": [ 665 { 666 "syn": "ExprLet" 667 } 668 ], 669 "Lit": [ 670 { 671 "syn": "ExprLit" 672 } 673 ], 674 "Loop": [ 675 { 676 "syn": "ExprLoop" 677 } 678 ], 679 "Macro": [ 680 { 681 "syn": "ExprMacro" 682 } 683 ], 684 "Match": [ 685 { 686 "syn": "ExprMatch" 687 } 688 ], 689 "MethodCall": [ 690 { 691 "syn": "ExprMethodCall" 692 } 693 ], 694 "Paren": [ 695 { 696 "syn": "ExprParen" 697 } 698 ], 699 "Path": [ 700 { 701 "syn": "ExprPath" 702 } 703 ], 704 "Range": [ 705 { 706 "syn": "ExprRange" 707 } 708 ], 709 "Reference": [ 710 { 711 "syn": "ExprReference" 712 } 713 ], 714 "Repeat": [ 715 { 716 "syn": "ExprRepeat" 717 } 718 ], 719 "Return": [ 720 { 721 "syn": "ExprReturn" 722 } 723 ], 724 "Struct": [ 725 { 726 "syn": "ExprStruct" 727 } 728 ], 729 "Try": [ 730 { 731 "syn": "ExprTry" 732 } 733 ], 734 "TryBlock": [ 735 { 736 "syn": "ExprTryBlock" 737 } 738 ], 739 "Tuple": [ 740 { 741 "syn": "ExprTuple" 742 } 743 ], 744 "Type": [ 745 { 746 "syn": "ExprType" 747 } 748 ], 749 "Unary": [ 750 { 751 "syn": "ExprUnary" 752 } 753 ], 754 "Unsafe": [ 755 { 756 "syn": "ExprUnsafe" 757 } 758 ], 759 "Verbatim": [ 760 { 761 "proc_macro2": "TokenStream" 762 } 763 ], 764 "While": [ 765 { 766 "syn": "ExprWhile" 767 } 768 ], 769 "Yield": [ 770 { 771 "syn": "ExprYield" 772 } 773 ] 774 }, 775 "exhaustive": false 776 }, 777 { 778 "ident": "ExprArray", 779 "features": { 780 "any": [ 781 "full" 782 ] 783 }, 784 "fields": { 785 "attrs": { 786 "vec": { 787 "syn": "Attribute" 788 } 789 }, 790 "bracket_token": { 791 "group": "Bracket" 792 }, 793 "elems": { 794 "punctuated": { 795 "element": { 796 "syn": "Expr" 797 }, 798 "punct": "Comma" 799 } 800 } 801 } 802 }, 803 { 804 "ident": "ExprAssign", 805 "features": { 806 "any": [ 807 "full" 808 ] 809 }, 810 "fields": { 811 "attrs": { 812 "vec": { 813 "syn": "Attribute" 814 } 815 }, 816 "left": { 817 "box": { 818 "syn": "Expr" 819 } 820 }, 821 "eq_token": { 822 "token": "Eq" 823 }, 824 "right": { 825 "box": { 826 "syn": "Expr" 827 } 828 } 829 } 830 }, 831 { 832 "ident": "ExprAssignOp", 833 "features": { 834 "any": [ 835 "full" 836 ] 837 }, 838 "fields": { 839 "attrs": { 840 "vec": { 841 "syn": "Attribute" 842 } 843 }, 844 "left": { 845 "box": { 846 "syn": "Expr" 847 } 848 }, 849 "op": { 850 "syn": "BinOp" 851 }, 852 "right": { 853 "box": { 854 "syn": "Expr" 855 } 856 } 857 } 858 }, 859 { 860 "ident": "ExprAsync", 861 "features": { 862 "any": [ 863 "full" 864 ] 865 }, 866 "fields": { 867 "attrs": { 868 "vec": { 869 "syn": "Attribute" 870 } 871 }, 872 "async_token": { 873 "token": "Async" 874 }, 875 "capture": { 876 "option": { 877 "token": "Move" 878 } 879 }, 880 "block": { 881 "syn": "Block" 882 } 883 } 884 }, 885 { 886 "ident": "ExprAwait", 887 "features": { 888 "any": [ 889 "full" 890 ] 891 }, 892 "fields": { 893 "attrs": { 894 "vec": { 895 "syn": "Attribute" 896 } 897 }, 898 "base": { 899 "box": { 900 "syn": "Expr" 901 } 902 }, 903 "dot_token": { 904 "token": "Dot" 905 }, 906 "await_token": { 907 "token": "Await" 908 } 909 } 910 }, 911 { 912 "ident": "ExprBinary", 913 "features": { 914 "any": [ 915 "derive", 916 "full" 917 ] 918 }, 919 "fields": { 920 "attrs": { 921 "vec": { 922 "syn": "Attribute" 923 } 924 }, 925 "left": { 926 "box": { 927 "syn": "Expr" 928 } 929 }, 930 "op": { 931 "syn": "BinOp" 932 }, 933 "right": { 934 "box": { 935 "syn": "Expr" 936 } 937 } 938 } 939 }, 940 { 941 "ident": "ExprBlock", 942 "features": { 943 "any": [ 944 "full" 945 ] 946 }, 947 "fields": { 948 "attrs": { 949 "vec": { 950 "syn": "Attribute" 951 } 952 }, 953 "label": { 954 "option": { 955 "syn": "Label" 956 } 957 }, 958 "block": { 959 "syn": "Block" 960 } 961 } 962 }, 963 { 964 "ident": "ExprBox", 965 "features": { 966 "any": [ 967 "full" 968 ] 969 }, 970 "fields": { 971 "attrs": { 972 "vec": { 973 "syn": "Attribute" 974 } 975 }, 976 "box_token": { 977 "token": "Box" 978 }, 979 "expr": { 980 "box": { 981 "syn": "Expr" 982 } 983 } 984 } 985 }, 986 { 987 "ident": "ExprBreak", 988 "features": { 989 "any": [ 990 "full" 991 ] 992 }, 993 "fields": { 994 "attrs": { 995 "vec": { 996 "syn": "Attribute" 997 } 998 }, 999 "break_token": { 1000 "token": "Break" 1001 }, 1002 "label": { 1003 "option": { 1004 "syn": "Lifetime" 1005 } 1006 }, 1007 "expr": { 1008 "option": { 1009 "box": { 1010 "syn": "Expr" 1011 } 1012 } 1013 } 1014 } 1015 }, 1016 { 1017 "ident": "ExprCall", 1018 "features": { 1019 "any": [ 1020 "derive", 1021 "full" 1022 ] 1023 }, 1024 "fields": { 1025 "attrs": { 1026 "vec": { 1027 "syn": "Attribute" 1028 } 1029 }, 1030 "func": { 1031 "box": { 1032 "syn": "Expr" 1033 } 1034 }, 1035 "paren_token": { 1036 "group": "Paren" 1037 }, 1038 "args": { 1039 "punctuated": { 1040 "element": { 1041 "syn": "Expr" 1042 }, 1043 "punct": "Comma" 1044 } 1045 } 1046 } 1047 }, 1048 { 1049 "ident": "ExprCast", 1050 "features": { 1051 "any": [ 1052 "derive", 1053 "full" 1054 ] 1055 }, 1056 "fields": { 1057 "attrs": { 1058 "vec": { 1059 "syn": "Attribute" 1060 } 1061 }, 1062 "expr": { 1063 "box": { 1064 "syn": "Expr" 1065 } 1066 }, 1067 "as_token": { 1068 "token": "As" 1069 }, 1070 "ty": { 1071 "box": { 1072 "syn": "Type" 1073 } 1074 } 1075 } 1076 }, 1077 { 1078 "ident": "ExprClosure", 1079 "features": { 1080 "any": [ 1081 "full" 1082 ] 1083 }, 1084 "fields": { 1085 "attrs": { 1086 "vec": { 1087 "syn": "Attribute" 1088 } 1089 }, 1090 "movability": { 1091 "option": { 1092 "token": "Static" 1093 } 1094 }, 1095 "asyncness": { 1096 "option": { 1097 "token": "Async" 1098 } 1099 }, 1100 "capture": { 1101 "option": { 1102 "token": "Move" 1103 } 1104 }, 1105 "or1_token": { 1106 "token": "Or" 1107 }, 1108 "inputs": { 1109 "punctuated": { 1110 "element": { 1111 "syn": "Pat" 1112 }, 1113 "punct": "Comma" 1114 } 1115 }, 1116 "or2_token": { 1117 "token": "Or" 1118 }, 1119 "output": { 1120 "syn": "ReturnType" 1121 }, 1122 "body": { 1123 "box": { 1124 "syn": "Expr" 1125 } 1126 } 1127 } 1128 }, 1129 { 1130 "ident": "ExprContinue", 1131 "features": { 1132 "any": [ 1133 "full" 1134 ] 1135 }, 1136 "fields": { 1137 "attrs": { 1138 "vec": { 1139 "syn": "Attribute" 1140 } 1141 }, 1142 "continue_token": { 1143 "token": "Continue" 1144 }, 1145 "label": { 1146 "option": { 1147 "syn": "Lifetime" 1148 } 1149 } 1150 } 1151 }, 1152 { 1153 "ident": "ExprField", 1154 "features": { 1155 "any": [ 1156 "derive", 1157 "full" 1158 ] 1159 }, 1160 "fields": { 1161 "attrs": { 1162 "vec": { 1163 "syn": "Attribute" 1164 } 1165 }, 1166 "base": { 1167 "box": { 1168 "syn": "Expr" 1169 } 1170 }, 1171 "dot_token": { 1172 "token": "Dot" 1173 }, 1174 "member": { 1175 "syn": "Member" 1176 } 1177 } 1178 }, 1179 { 1180 "ident": "ExprForLoop", 1181 "features": { 1182 "any": [ 1183 "full" 1184 ] 1185 }, 1186 "fields": { 1187 "attrs": { 1188 "vec": { 1189 "syn": "Attribute" 1190 } 1191 }, 1192 "label": { 1193 "option": { 1194 "syn": "Label" 1195 } 1196 }, 1197 "for_token": { 1198 "token": "For" 1199 }, 1200 "pat": { 1201 "syn": "Pat" 1202 }, 1203 "in_token": { 1204 "token": "In" 1205 }, 1206 "expr": { 1207 "box": { 1208 "syn": "Expr" 1209 } 1210 }, 1211 "body": { 1212 "syn": "Block" 1213 } 1214 } 1215 }, 1216 { 1217 "ident": "ExprGroup", 1218 "features": { 1219 "any": [ 1220 "full" 1221 ] 1222 }, 1223 "fields": { 1224 "attrs": { 1225 "vec": { 1226 "syn": "Attribute" 1227 } 1228 }, 1229 "group_token": { 1230 "group": "Group" 1231 }, 1232 "expr": { 1233 "box": { 1234 "syn": "Expr" 1235 } 1236 } 1237 } 1238 }, 1239 { 1240 "ident": "ExprIf", 1241 "features": { 1242 "any": [ 1243 "full" 1244 ] 1245 }, 1246 "fields": { 1247 "attrs": { 1248 "vec": { 1249 "syn": "Attribute" 1250 } 1251 }, 1252 "if_token": { 1253 "token": "If" 1254 }, 1255 "cond": { 1256 "box": { 1257 "syn": "Expr" 1258 } 1259 }, 1260 "then_branch": { 1261 "syn": "Block" 1262 }, 1263 "else_branch": { 1264 "option": { 1265 "tuple": [ 1266 { 1267 "token": "Else" 1268 }, 1269 { 1270 "box": { 1271 "syn": "Expr" 1272 } 1273 } 1274 ] 1275 } 1276 } 1277 } 1278 }, 1279 { 1280 "ident": "ExprIndex", 1281 "features": { 1282 "any": [ 1283 "derive", 1284 "full" 1285 ] 1286 }, 1287 "fields": { 1288 "attrs": { 1289 "vec": { 1290 "syn": "Attribute" 1291 } 1292 }, 1293 "expr": { 1294 "box": { 1295 "syn": "Expr" 1296 } 1297 }, 1298 "bracket_token": { 1299 "group": "Bracket" 1300 }, 1301 "index": { 1302 "box": { 1303 "syn": "Expr" 1304 } 1305 } 1306 } 1307 }, 1308 { 1309 "ident": "ExprLet", 1310 "features": { 1311 "any": [ 1312 "full" 1313 ] 1314 }, 1315 "fields": { 1316 "attrs": { 1317 "vec": { 1318 "syn": "Attribute" 1319 } 1320 }, 1321 "let_token": { 1322 "token": "Let" 1323 }, 1324 "pat": { 1325 "syn": "Pat" 1326 }, 1327 "eq_token": { 1328 "token": "Eq" 1329 }, 1330 "expr": { 1331 "box": { 1332 "syn": "Expr" 1333 } 1334 } 1335 } 1336 }, 1337 { 1338 "ident": "ExprLit", 1339 "features": { 1340 "any": [ 1341 "derive", 1342 "full" 1343 ] 1344 }, 1345 "fields": { 1346 "attrs": { 1347 "vec": { 1348 "syn": "Attribute" 1349 } 1350 }, 1351 "lit": { 1352 "syn": "Lit" 1353 } 1354 } 1355 }, 1356 { 1357 "ident": "ExprLoop", 1358 "features": { 1359 "any": [ 1360 "full" 1361 ] 1362 }, 1363 "fields": { 1364 "attrs": { 1365 "vec": { 1366 "syn": "Attribute" 1367 } 1368 }, 1369 "label": { 1370 "option": { 1371 "syn": "Label" 1372 } 1373 }, 1374 "loop_token": { 1375 "token": "Loop" 1376 }, 1377 "body": { 1378 "syn": "Block" 1379 } 1380 } 1381 }, 1382 { 1383 "ident": "ExprMacro", 1384 "features": { 1385 "any": [ 1386 "full" 1387 ] 1388 }, 1389 "fields": { 1390 "attrs": { 1391 "vec": { 1392 "syn": "Attribute" 1393 } 1394 }, 1395 "mac": { 1396 "syn": "Macro" 1397 } 1398 } 1399 }, 1400 { 1401 "ident": "ExprMatch", 1402 "features": { 1403 "any": [ 1404 "full" 1405 ] 1406 }, 1407 "fields": { 1408 "attrs": { 1409 "vec": { 1410 "syn": "Attribute" 1411 } 1412 }, 1413 "match_token": { 1414 "token": "Match" 1415 }, 1416 "expr": { 1417 "box": { 1418 "syn": "Expr" 1419 } 1420 }, 1421 "brace_token": { 1422 "group": "Brace" 1423 }, 1424 "arms": { 1425 "vec": { 1426 "syn": "Arm" 1427 } 1428 } 1429 } 1430 }, 1431 { 1432 "ident": "ExprMethodCall", 1433 "features": { 1434 "any": [ 1435 "full" 1436 ] 1437 }, 1438 "fields": { 1439 "attrs": { 1440 "vec": { 1441 "syn": "Attribute" 1442 } 1443 }, 1444 "receiver": { 1445 "box": { 1446 "syn": "Expr" 1447 } 1448 }, 1449 "dot_token": { 1450 "token": "Dot" 1451 }, 1452 "method": { 1453 "proc_macro2": "Ident" 1454 }, 1455 "turbofish": { 1456 "option": { 1457 "syn": "MethodTurbofish" 1458 } 1459 }, 1460 "paren_token": { 1461 "group": "Paren" 1462 }, 1463 "args": { 1464 "punctuated": { 1465 "element": { 1466 "syn": "Expr" 1467 }, 1468 "punct": "Comma" 1469 } 1470 } 1471 } 1472 }, 1473 { 1474 "ident": "ExprParen", 1475 "features": { 1476 "any": [ 1477 "derive", 1478 "full" 1479 ] 1480 }, 1481 "fields": { 1482 "attrs": { 1483 "vec": { 1484 "syn": "Attribute" 1485 } 1486 }, 1487 "paren_token": { 1488 "group": "Paren" 1489 }, 1490 "expr": { 1491 "box": { 1492 "syn": "Expr" 1493 } 1494 } 1495 } 1496 }, 1497 { 1498 "ident": "ExprPath", 1499 "features": { 1500 "any": [ 1501 "derive", 1502 "full" 1503 ] 1504 }, 1505 "fields": { 1506 "attrs": { 1507 "vec": { 1508 "syn": "Attribute" 1509 } 1510 }, 1511 "qself": { 1512 "option": { 1513 "syn": "QSelf" 1514 } 1515 }, 1516 "path": { 1517 "syn": "Path" 1518 } 1519 } 1520 }, 1521 { 1522 "ident": "ExprRange", 1523 "features": { 1524 "any": [ 1525 "full" 1526 ] 1527 }, 1528 "fields": { 1529 "attrs": { 1530 "vec": { 1531 "syn": "Attribute" 1532 } 1533 }, 1534 "from": { 1535 "option": { 1536 "box": { 1537 "syn": "Expr" 1538 } 1539 } 1540 }, 1541 "limits": { 1542 "syn": "RangeLimits" 1543 }, 1544 "to": { 1545 "option": { 1546 "box": { 1547 "syn": "Expr" 1548 } 1549 } 1550 } 1551 } 1552 }, 1553 { 1554 "ident": "ExprReference", 1555 "features": { 1556 "any": [ 1557 "full" 1558 ] 1559 }, 1560 "fields": { 1561 "attrs": { 1562 "vec": { 1563 "syn": "Attribute" 1564 } 1565 }, 1566 "and_token": { 1567 "token": "And" 1568 }, 1569 "raw": { 1570 "syn": "Reserved" 1571 }, 1572 "mutability": { 1573 "option": { 1574 "token": "Mut" 1575 } 1576 }, 1577 "expr": { 1578 "box": { 1579 "syn": "Expr" 1580 } 1581 } 1582 } 1583 }, 1584 { 1585 "ident": "ExprRepeat", 1586 "features": { 1587 "any": [ 1588 "full" 1589 ] 1590 }, 1591 "fields": { 1592 "attrs": { 1593 "vec": { 1594 "syn": "Attribute" 1595 } 1596 }, 1597 "bracket_token": { 1598 "group": "Bracket" 1599 }, 1600 "expr": { 1601 "box": { 1602 "syn": "Expr" 1603 } 1604 }, 1605 "semi_token": { 1606 "token": "Semi" 1607 }, 1608 "len": { 1609 "box": { 1610 "syn": "Expr" 1611 } 1612 } 1613 } 1614 }, 1615 { 1616 "ident": "ExprReturn", 1617 "features": { 1618 "any": [ 1619 "full" 1620 ] 1621 }, 1622 "fields": { 1623 "attrs": { 1624 "vec": { 1625 "syn": "Attribute" 1626 } 1627 }, 1628 "return_token": { 1629 "token": "Return" 1630 }, 1631 "expr": { 1632 "option": { 1633 "box": { 1634 "syn": "Expr" 1635 } 1636 } 1637 } 1638 } 1639 }, 1640 { 1641 "ident": "ExprStruct", 1642 "features": { 1643 "any": [ 1644 "full" 1645 ] 1646 }, 1647 "fields": { 1648 "attrs": { 1649 "vec": { 1650 "syn": "Attribute" 1651 } 1652 }, 1653 "path": { 1654 "syn": "Path" 1655 }, 1656 "brace_token": { 1657 "group": "Brace" 1658 }, 1659 "fields": { 1660 "punctuated": { 1661 "element": { 1662 "syn": "FieldValue" 1663 }, 1664 "punct": "Comma" 1665 } 1666 }, 1667 "dot2_token": { 1668 "option": { 1669 "token": "Dot2" 1670 } 1671 }, 1672 "rest": { 1673 "option": { 1674 "box": { 1675 "syn": "Expr" 1676 } 1677 } 1678 } 1679 } 1680 }, 1681 { 1682 "ident": "ExprTry", 1683 "features": { 1684 "any": [ 1685 "full" 1686 ] 1687 }, 1688 "fields": { 1689 "attrs": { 1690 "vec": { 1691 "syn": "Attribute" 1692 } 1693 }, 1694 "expr": { 1695 "box": { 1696 "syn": "Expr" 1697 } 1698 }, 1699 "question_token": { 1700 "token": "Question" 1701 } 1702 } 1703 }, 1704 { 1705 "ident": "ExprTryBlock", 1706 "features": { 1707 "any": [ 1708 "full" 1709 ] 1710 }, 1711 "fields": { 1712 "attrs": { 1713 "vec": { 1714 "syn": "Attribute" 1715 } 1716 }, 1717 "try_token": { 1718 "token": "Try" 1719 }, 1720 "block": { 1721 "syn": "Block" 1722 } 1723 } 1724 }, 1725 { 1726 "ident": "ExprTuple", 1727 "features": { 1728 "any": [ 1729 "full" 1730 ] 1731 }, 1732 "fields": { 1733 "attrs": { 1734 "vec": { 1735 "syn": "Attribute" 1736 } 1737 }, 1738 "paren_token": { 1739 "group": "Paren" 1740 }, 1741 "elems": { 1742 "punctuated": { 1743 "element": { 1744 "syn": "Expr" 1745 }, 1746 "punct": "Comma" 1747 } 1748 } 1749 } 1750 }, 1751 { 1752 "ident": "ExprType", 1753 "features": { 1754 "any": [ 1755 "full" 1756 ] 1757 }, 1758 "fields": { 1759 "attrs": { 1760 "vec": { 1761 "syn": "Attribute" 1762 } 1763 }, 1764 "expr": { 1765 "box": { 1766 "syn": "Expr" 1767 } 1768 }, 1769 "colon_token": { 1770 "token": "Colon" 1771 }, 1772 "ty": { 1773 "box": { 1774 "syn": "Type" 1775 } 1776 } 1777 } 1778 }, 1779 { 1780 "ident": "ExprUnary", 1781 "features": { 1782 "any": [ 1783 "derive", 1784 "full" 1785 ] 1786 }, 1787 "fields": { 1788 "attrs": { 1789 "vec": { 1790 "syn": "Attribute" 1791 } 1792 }, 1793 "op": { 1794 "syn": "UnOp" 1795 }, 1796 "expr": { 1797 "box": { 1798 "syn": "Expr" 1799 } 1800 } 1801 } 1802 }, 1803 { 1804 "ident": "ExprUnsafe", 1805 "features": { 1806 "any": [ 1807 "full" 1808 ] 1809 }, 1810 "fields": { 1811 "attrs": { 1812 "vec": { 1813 "syn": "Attribute" 1814 } 1815 }, 1816 "unsafe_token": { 1817 "token": "Unsafe" 1818 }, 1819 "block": { 1820 "syn": "Block" 1821 } 1822 } 1823 }, 1824 { 1825 "ident": "ExprWhile", 1826 "features": { 1827 "any": [ 1828 "full" 1829 ] 1830 }, 1831 "fields": { 1832 "attrs": { 1833 "vec": { 1834 "syn": "Attribute" 1835 } 1836 }, 1837 "label": { 1838 "option": { 1839 "syn": "Label" 1840 } 1841 }, 1842 "while_token": { 1843 "token": "While" 1844 }, 1845 "cond": { 1846 "box": { 1847 "syn": "Expr" 1848 } 1849 }, 1850 "body": { 1851 "syn": "Block" 1852 } 1853 } 1854 }, 1855 { 1856 "ident": "ExprYield", 1857 "features": { 1858 "any": [ 1859 "full" 1860 ] 1861 }, 1862 "fields": { 1863 "attrs": { 1864 "vec": { 1865 "syn": "Attribute" 1866 } 1867 }, 1868 "yield_token": { 1869 "token": "Yield" 1870 }, 1871 "expr": { 1872 "option": { 1873 "box": { 1874 "syn": "Expr" 1875 } 1876 } 1877 } 1878 } 1879 }, 1880 { 1881 "ident": "Field", 1882 "features": { 1883 "any": [ 1884 "derive", 1885 "full" 1886 ] 1887 }, 1888 "fields": { 1889 "attrs": { 1890 "vec": { 1891 "syn": "Attribute" 1892 } 1893 }, 1894 "vis": { 1895 "syn": "Visibility" 1896 }, 1897 "ident": { 1898 "option": { 1899 "proc_macro2": "Ident" 1900 } 1901 }, 1902 "colon_token": { 1903 "option": { 1904 "token": "Colon" 1905 } 1906 }, 1907 "ty": { 1908 "syn": "Type" 1909 } 1910 } 1911 }, 1912 { 1913 "ident": "FieldPat", 1914 "features": { 1915 "any": [ 1916 "full" 1917 ] 1918 }, 1919 "fields": { 1920 "attrs": { 1921 "vec": { 1922 "syn": "Attribute" 1923 } 1924 }, 1925 "member": { 1926 "syn": "Member" 1927 }, 1928 "colon_token": { 1929 "option": { 1930 "token": "Colon" 1931 } 1932 }, 1933 "pat": { 1934 "box": { 1935 "syn": "Pat" 1936 } 1937 } 1938 } 1939 }, 1940 { 1941 "ident": "FieldValue", 1942 "features": { 1943 "any": [ 1944 "full" 1945 ] 1946 }, 1947 "fields": { 1948 "attrs": { 1949 "vec": { 1950 "syn": "Attribute" 1951 } 1952 }, 1953 "member": { 1954 "syn": "Member" 1955 }, 1956 "colon_token": { 1957 "option": { 1958 "token": "Colon" 1959 } 1960 }, 1961 "expr": { 1962 "syn": "Expr" 1963 } 1964 } 1965 }, 1966 { 1967 "ident": "Fields", 1968 "features": { 1969 "any": [ 1970 "derive", 1971 "full" 1972 ] 1973 }, 1974 "variants": { 1975 "Named": [ 1976 { 1977 "syn": "FieldsNamed" 1978 } 1979 ], 1980 "Unnamed": [ 1981 { 1982 "syn": "FieldsUnnamed" 1983 } 1984 ], 1985 "Unit": [] 1986 } 1987 }, 1988 { 1989 "ident": "FieldsNamed", 1990 "features": { 1991 "any": [ 1992 "derive", 1993 "full" 1994 ] 1995 }, 1996 "fields": { 1997 "brace_token": { 1998 "group": "Brace" 1999 }, 2000 "named": { 2001 "punctuated": { 2002 "element": { 2003 "syn": "Field" 2004 }, 2005 "punct": "Comma" 2006 } 2007 } 2008 } 2009 }, 2010 { 2011 "ident": "FieldsUnnamed", 2012 "features": { 2013 "any": [ 2014 "derive", 2015 "full" 2016 ] 2017 }, 2018 "fields": { 2019 "paren_token": { 2020 "group": "Paren" 2021 }, 2022 "unnamed": { 2023 "punctuated": { 2024 "element": { 2025 "syn": "Field" 2026 }, 2027 "punct": "Comma" 2028 } 2029 } 2030 } 2031 }, 2032 { 2033 "ident": "File", 2034 "features": { 2035 "any": [ 2036 "full" 2037 ] 2038 }, 2039 "fields": { 2040 "shebang": { 2041 "option": { 2042 "std": "String" 2043 } 2044 }, 2045 "attrs": { 2046 "vec": { 2047 "syn": "Attribute" 2048 } 2049 }, 2050 "items": { 2051 "vec": { 2052 "syn": "Item" 2053 } 2054 } 2055 } 2056 }, 2057 { 2058 "ident": "FnArg", 2059 "features": { 2060 "any": [ 2061 "full" 2062 ] 2063 }, 2064 "variants": { 2065 "Receiver": [ 2066 { 2067 "syn": "Receiver" 2068 } 2069 ], 2070 "Typed": [ 2071 { 2072 "syn": "PatType" 2073 } 2074 ] 2075 } 2076 }, 2077 { 2078 "ident": "ForeignItem", 2079 "features": { 2080 "any": [ 2081 "full" 2082 ] 2083 }, 2084 "variants": { 2085 "Fn": [ 2086 { 2087 "syn": "ForeignItemFn" 2088 } 2089 ], 2090 "Static": [ 2091 { 2092 "syn": "ForeignItemStatic" 2093 } 2094 ], 2095 "Type": [ 2096 { 2097 "syn": "ForeignItemType" 2098 } 2099 ], 2100 "Macro": [ 2101 { 2102 "syn": "ForeignItemMacro" 2103 } 2104 ], 2105 "Verbatim": [ 2106 { 2107 "proc_macro2": "TokenStream" 2108 } 2109 ] 2110 }, 2111 "exhaustive": false 2112 }, 2113 { 2114 "ident": "ForeignItemFn", 2115 "features": { 2116 "any": [ 2117 "full" 2118 ] 2119 }, 2120 "fields": { 2121 "attrs": { 2122 "vec": { 2123 "syn": "Attribute" 2124 } 2125 }, 2126 "vis": { 2127 "syn": "Visibility" 2128 }, 2129 "sig": { 2130 "syn": "Signature" 2131 }, 2132 "semi_token": { 2133 "token": "Semi" 2134 } 2135 } 2136 }, 2137 { 2138 "ident": "ForeignItemMacro", 2139 "features": { 2140 "any": [ 2141 "full" 2142 ] 2143 }, 2144 "fields": { 2145 "attrs": { 2146 "vec": { 2147 "syn": "Attribute" 2148 } 2149 }, 2150 "mac": { 2151 "syn": "Macro" 2152 }, 2153 "semi_token": { 2154 "option": { 2155 "token": "Semi" 2156 } 2157 } 2158 } 2159 }, 2160 { 2161 "ident": "ForeignItemStatic", 2162 "features": { 2163 "any": [ 2164 "full" 2165 ] 2166 }, 2167 "fields": { 2168 "attrs": { 2169 "vec": { 2170 "syn": "Attribute" 2171 } 2172 }, 2173 "vis": { 2174 "syn": "Visibility" 2175 }, 2176 "static_token": { 2177 "token": "Static" 2178 }, 2179 "mutability": { 2180 "option": { 2181 "token": "Mut" 2182 } 2183 }, 2184 "ident": { 2185 "proc_macro2": "Ident" 2186 }, 2187 "colon_token": { 2188 "token": "Colon" 2189 }, 2190 "ty": { 2191 "box": { 2192 "syn": "Type" 2193 } 2194 }, 2195 "semi_token": { 2196 "token": "Semi" 2197 } 2198 } 2199 }, 2200 { 2201 "ident": "ForeignItemType", 2202 "features": { 2203 "any": [ 2204 "full" 2205 ] 2206 }, 2207 "fields": { 2208 "attrs": { 2209 "vec": { 2210 "syn": "Attribute" 2211 } 2212 }, 2213 "vis": { 2214 "syn": "Visibility" 2215 }, 2216 "type_token": { 2217 "token": "Type" 2218 }, 2219 "ident": { 2220 "proc_macro2": "Ident" 2221 }, 2222 "semi_token": { 2223 "token": "Semi" 2224 } 2225 } 2226 }, 2227 { 2228 "ident": "GenericArgument", 2229 "features": { 2230 "any": [ 2231 "derive", 2232 "full" 2233 ] 2234 }, 2235 "variants": { 2236 "Lifetime": [ 2237 { 2238 "syn": "Lifetime" 2239 } 2240 ], 2241 "Type": [ 2242 { 2243 "syn": "Type" 2244 } 2245 ], 2246 "Const": [ 2247 { 2248 "syn": "Expr" 2249 } 2250 ], 2251 "Binding": [ 2252 { 2253 "syn": "Binding" 2254 } 2255 ], 2256 "Constraint": [ 2257 { 2258 "syn": "Constraint" 2259 } 2260 ] 2261 } 2262 }, 2263 { 2264 "ident": "GenericMethodArgument", 2265 "features": { 2266 "any": [ 2267 "full" 2268 ] 2269 }, 2270 "variants": { 2271 "Type": [ 2272 { 2273 "syn": "Type" 2274 } 2275 ], 2276 "Const": [ 2277 { 2278 "syn": "Expr" 2279 } 2280 ] 2281 } 2282 }, 2283 { 2284 "ident": "GenericParam", 2285 "features": { 2286 "any": [ 2287 "derive", 2288 "full" 2289 ] 2290 }, 2291 "variants": { 2292 "Type": [ 2293 { 2294 "syn": "TypeParam" 2295 } 2296 ], 2297 "Lifetime": [ 2298 { 2299 "syn": "LifetimeDef" 2300 } 2301 ], 2302 "Const": [ 2303 { 2304 "syn": "ConstParam" 2305 } 2306 ] 2307 } 2308 }, 2309 { 2310 "ident": "Generics", 2311 "features": { 2312 "any": [ 2313 "derive", 2314 "full" 2315 ] 2316 }, 2317 "fields": { 2318 "lt_token": { 2319 "option": { 2320 "token": "Lt" 2321 } 2322 }, 2323 "params": { 2324 "punctuated": { 2325 "element": { 2326 "syn": "GenericParam" 2327 }, 2328 "punct": "Comma" 2329 } 2330 }, 2331 "gt_token": { 2332 "option": { 2333 "token": "Gt" 2334 } 2335 }, 2336 "where_clause": { 2337 "option": { 2338 "syn": "WhereClause" 2339 } 2340 } 2341 } 2342 }, 2343 { 2344 "ident": "ImplItem", 2345 "features": { 2346 "any": [ 2347 "full" 2348 ] 2349 }, 2350 "variants": { 2351 "Const": [ 2352 { 2353 "syn": "ImplItemConst" 2354 } 2355 ], 2356 "Method": [ 2357 { 2358 "syn": "ImplItemMethod" 2359 } 2360 ], 2361 "Type": [ 2362 { 2363 "syn": "ImplItemType" 2364 } 2365 ], 2366 "Macro": [ 2367 { 2368 "syn": "ImplItemMacro" 2369 } 2370 ], 2371 "Verbatim": [ 2372 { 2373 "proc_macro2": "TokenStream" 2374 } 2375 ] 2376 }, 2377 "exhaustive": false 2378 }, 2379 { 2380 "ident": "ImplItemConst", 2381 "features": { 2382 "any": [ 2383 "full" 2384 ] 2385 }, 2386 "fields": { 2387 "attrs": { 2388 "vec": { 2389 "syn": "Attribute" 2390 } 2391 }, 2392 "vis": { 2393 "syn": "Visibility" 2394 }, 2395 "defaultness": { 2396 "option": { 2397 "token": "Default" 2398 } 2399 }, 2400 "const_token": { 2401 "token": "Const" 2402 }, 2403 "ident": { 2404 "proc_macro2": "Ident" 2405 }, 2406 "colon_token": { 2407 "token": "Colon" 2408 }, 2409 "ty": { 2410 "syn": "Type" 2411 }, 2412 "eq_token": { 2413 "token": "Eq" 2414 }, 2415 "expr": { 2416 "syn": "Expr" 2417 }, 2418 "semi_token": { 2419 "token": "Semi" 2420 } 2421 } 2422 }, 2423 { 2424 "ident": "ImplItemMacro", 2425 "features": { 2426 "any": [ 2427 "full" 2428 ] 2429 }, 2430 "fields": { 2431 "attrs": { 2432 "vec": { 2433 "syn": "Attribute" 2434 } 2435 }, 2436 "mac": { 2437 "syn": "Macro" 2438 }, 2439 "semi_token": { 2440 "option": { 2441 "token": "Semi" 2442 } 2443 } 2444 } 2445 }, 2446 { 2447 "ident": "ImplItemMethod", 2448 "features": { 2449 "any": [ 2450 "full" 2451 ] 2452 }, 2453 "fields": { 2454 "attrs": { 2455 "vec": { 2456 "syn": "Attribute" 2457 } 2458 }, 2459 "vis": { 2460 "syn": "Visibility" 2461 }, 2462 "defaultness": { 2463 "option": { 2464 "token": "Default" 2465 } 2466 }, 2467 "sig": { 2468 "syn": "Signature" 2469 }, 2470 "block": { 2471 "syn": "Block" 2472 } 2473 } 2474 }, 2475 { 2476 "ident": "ImplItemType", 2477 "features": { 2478 "any": [ 2479 "full" 2480 ] 2481 }, 2482 "fields": { 2483 "attrs": { 2484 "vec": { 2485 "syn": "Attribute" 2486 } 2487 }, 2488 "vis": { 2489 "syn": "Visibility" 2490 }, 2491 "defaultness": { 2492 "option": { 2493 "token": "Default" 2494 } 2495 }, 2496 "type_token": { 2497 "token": "Type" 2498 }, 2499 "ident": { 2500 "proc_macro2": "Ident" 2501 }, 2502 "generics": { 2503 "syn": "Generics" 2504 }, 2505 "eq_token": { 2506 "token": "Eq" 2507 }, 2508 "ty": { 2509 "syn": "Type" 2510 }, 2511 "semi_token": { 2512 "token": "Semi" 2513 } 2514 } 2515 }, 2516 { 2517 "ident": "Index", 2518 "features": { 2519 "any": [ 2520 "derive", 2521 "full" 2522 ] 2523 }, 2524 "fields": { 2525 "index": { 2526 "std": "u32" 2527 }, 2528 "span": { 2529 "proc_macro2": "Span" 2530 } 2531 } 2532 }, 2533 { 2534 "ident": "Item", 2535 "features": { 2536 "any": [ 2537 "full" 2538 ] 2539 }, 2540 "variants": { 2541 "Const": [ 2542 { 2543 "syn": "ItemConst" 2544 } 2545 ], 2546 "Enum": [ 2547 { 2548 "syn": "ItemEnum" 2549 } 2550 ], 2551 "ExternCrate": [ 2552 { 2553 "syn": "ItemExternCrate" 2554 } 2555 ], 2556 "Fn": [ 2557 { 2558 "syn": "ItemFn" 2559 } 2560 ], 2561 "ForeignMod": [ 2562 { 2563 "syn": "ItemForeignMod" 2564 } 2565 ], 2566 "Impl": [ 2567 { 2568 "syn": "ItemImpl" 2569 } 2570 ], 2571 "Macro": [ 2572 { 2573 "syn": "ItemMacro" 2574 } 2575 ], 2576 "Macro2": [ 2577 { 2578 "syn": "ItemMacro2" 2579 } 2580 ], 2581 "Mod": [ 2582 { 2583 "syn": "ItemMod" 2584 } 2585 ], 2586 "Static": [ 2587 { 2588 "syn": "ItemStatic" 2589 } 2590 ], 2591 "Struct": [ 2592 { 2593 "syn": "ItemStruct" 2594 } 2595 ], 2596 "Trait": [ 2597 { 2598 "syn": "ItemTrait" 2599 } 2600 ], 2601 "TraitAlias": [ 2602 { 2603 "syn": "ItemTraitAlias" 2604 } 2605 ], 2606 "Type": [ 2607 { 2608 "syn": "ItemType" 2609 } 2610 ], 2611 "Union": [ 2612 { 2613 "syn": "ItemUnion" 2614 } 2615 ], 2616 "Use": [ 2617 { 2618 "syn": "ItemUse" 2619 } 2620 ], 2621 "Verbatim": [ 2622 { 2623 "proc_macro2": "TokenStream" 2624 } 2625 ] 2626 }, 2627 "exhaustive": false 2628 }, 2629 { 2630 "ident": "ItemConst", 2631 "features": { 2632 "any": [ 2633 "full" 2634 ] 2635 }, 2636 "fields": { 2637 "attrs": { 2638 "vec": { 2639 "syn": "Attribute" 2640 } 2641 }, 2642 "vis": { 2643 "syn": "Visibility" 2644 }, 2645 "const_token": { 2646 "token": "Const" 2647 }, 2648 "ident": { 2649 "proc_macro2": "Ident" 2650 }, 2651 "colon_token": { 2652 "token": "Colon" 2653 }, 2654 "ty": { 2655 "box": { 2656 "syn": "Type" 2657 } 2658 }, 2659 "eq_token": { 2660 "token": "Eq" 2661 }, 2662 "expr": { 2663 "box": { 2664 "syn": "Expr" 2665 } 2666 }, 2667 "semi_token": { 2668 "token": "Semi" 2669 } 2670 } 2671 }, 2672 { 2673 "ident": "ItemEnum", 2674 "features": { 2675 "any": [ 2676 "full" 2677 ] 2678 }, 2679 "fields": { 2680 "attrs": { 2681 "vec": { 2682 "syn": "Attribute" 2683 } 2684 }, 2685 "vis": { 2686 "syn": "Visibility" 2687 }, 2688 "enum_token": { 2689 "token": "Enum" 2690 }, 2691 "ident": { 2692 "proc_macro2": "Ident" 2693 }, 2694 "generics": { 2695 "syn": "Generics" 2696 }, 2697 "brace_token": { 2698 "group": "Brace" 2699 }, 2700 "variants": { 2701 "punctuated": { 2702 "element": { 2703 "syn": "Variant" 2704 }, 2705 "punct": "Comma" 2706 } 2707 } 2708 } 2709 }, 2710 { 2711 "ident": "ItemExternCrate", 2712 "features": { 2713 "any": [ 2714 "full" 2715 ] 2716 }, 2717 "fields": { 2718 "attrs": { 2719 "vec": { 2720 "syn": "Attribute" 2721 } 2722 }, 2723 "vis": { 2724 "syn": "Visibility" 2725 }, 2726 "extern_token": { 2727 "token": "Extern" 2728 }, 2729 "crate_token": { 2730 "token": "Crate" 2731 }, 2732 "ident": { 2733 "proc_macro2": "Ident" 2734 }, 2735 "rename": { 2736 "option": { 2737 "tuple": [ 2738 { 2739 "token": "As" 2740 }, 2741 { 2742 "proc_macro2": "Ident" 2743 } 2744 ] 2745 } 2746 }, 2747 "semi_token": { 2748 "token": "Semi" 2749 } 2750 } 2751 }, 2752 { 2753 "ident": "ItemFn", 2754 "features": { 2755 "any": [ 2756 "full" 2757 ] 2758 }, 2759 "fields": { 2760 "attrs": { 2761 "vec": { 2762 "syn": "Attribute" 2763 } 2764 }, 2765 "vis": { 2766 "syn": "Visibility" 2767 }, 2768 "sig": { 2769 "syn": "Signature" 2770 }, 2771 "block": { 2772 "box": { 2773 "syn": "Block" 2774 } 2775 } 2776 } 2777 }, 2778 { 2779 "ident": "ItemForeignMod", 2780 "features": { 2781 "any": [ 2782 "full" 2783 ] 2784 }, 2785 "fields": { 2786 "attrs": { 2787 "vec": { 2788 "syn": "Attribute" 2789 } 2790 }, 2791 "abi": { 2792 "syn": "Abi" 2793 }, 2794 "brace_token": { 2795 "group": "Brace" 2796 }, 2797 "items": { 2798 "vec": { 2799 "syn": "ForeignItem" 2800 } 2801 } 2802 } 2803 }, 2804 { 2805 "ident": "ItemImpl", 2806 "features": { 2807 "any": [ 2808 "full" 2809 ] 2810 }, 2811 "fields": { 2812 "attrs": { 2813 "vec": { 2814 "syn": "Attribute" 2815 } 2816 }, 2817 "defaultness": { 2818 "option": { 2819 "token": "Default" 2820 } 2821 }, 2822 "unsafety": { 2823 "option": { 2824 "token": "Unsafe" 2825 } 2826 }, 2827 "impl_token": { 2828 "token": "Impl" 2829 }, 2830 "generics": { 2831 "syn": "Generics" 2832 }, 2833 "trait_": { 2834 "option": { 2835 "tuple": [ 2836 { 2837 "option": { 2838 "token": "Bang" 2839 } 2840 }, 2841 { 2842 "syn": "Path" 2843 }, 2844 { 2845 "token": "For" 2846 } 2847 ] 2848 } 2849 }, 2850 "self_ty": { 2851 "box": { 2852 "syn": "Type" 2853 } 2854 }, 2855 "brace_token": { 2856 "group": "Brace" 2857 }, 2858 "items": { 2859 "vec": { 2860 "syn": "ImplItem" 2861 } 2862 } 2863 } 2864 }, 2865 { 2866 "ident": "ItemMacro", 2867 "features": { 2868 "any": [ 2869 "full" 2870 ] 2871 }, 2872 "fields": { 2873 "attrs": { 2874 "vec": { 2875 "syn": "Attribute" 2876 } 2877 }, 2878 "ident": { 2879 "option": { 2880 "proc_macro2": "Ident" 2881 } 2882 }, 2883 "mac": { 2884 "syn": "Macro" 2885 }, 2886 "semi_token": { 2887 "option": { 2888 "token": "Semi" 2889 } 2890 } 2891 } 2892 }, 2893 { 2894 "ident": "ItemMacro2", 2895 "features": { 2896 "any": [ 2897 "full" 2898 ] 2899 }, 2900 "fields": { 2901 "attrs": { 2902 "vec": { 2903 "syn": "Attribute" 2904 } 2905 }, 2906 "vis": { 2907 "syn": "Visibility" 2908 }, 2909 "macro_token": { 2910 "token": "Macro" 2911 }, 2912 "ident": { 2913 "proc_macro2": "Ident" 2914 }, 2915 "rules": { 2916 "proc_macro2": "TokenStream" 2917 } 2918 } 2919 }, 2920 { 2921 "ident": "ItemMod", 2922 "features": { 2923 "any": [ 2924 "full" 2925 ] 2926 }, 2927 "fields": { 2928 "attrs": { 2929 "vec": { 2930 "syn": "Attribute" 2931 } 2932 }, 2933 "vis": { 2934 "syn": "Visibility" 2935 }, 2936 "mod_token": { 2937 "token": "Mod" 2938 }, 2939 "ident": { 2940 "proc_macro2": "Ident" 2941 }, 2942 "content": { 2943 "option": { 2944 "tuple": [ 2945 { 2946 "group": "Brace" 2947 }, 2948 { 2949 "vec": { 2950 "syn": "Item" 2951 } 2952 } 2953 ] 2954 } 2955 }, 2956 "semi": { 2957 "option": { 2958 "token": "Semi" 2959 } 2960 } 2961 } 2962 }, 2963 { 2964 "ident": "ItemStatic", 2965 "features": { 2966 "any": [ 2967 "full" 2968 ] 2969 }, 2970 "fields": { 2971 "attrs": { 2972 "vec": { 2973 "syn": "Attribute" 2974 } 2975 }, 2976 "vis": { 2977 "syn": "Visibility" 2978 }, 2979 "static_token": { 2980 "token": "Static" 2981 }, 2982 "mutability": { 2983 "option": { 2984 "token": "Mut" 2985 } 2986 }, 2987 "ident": { 2988 "proc_macro2": "Ident" 2989 }, 2990 "colon_token": { 2991 "token": "Colon" 2992 }, 2993 "ty": { 2994 "box": { 2995 "syn": "Type" 2996 } 2997 }, 2998 "eq_token": { 2999 "token": "Eq" 3000 }, 3001 "expr": { 3002 "box": { 3003 "syn": "Expr" 3004 } 3005 }, 3006 "semi_token": { 3007 "token": "Semi" 3008 } 3009 } 3010 }, 3011 { 3012 "ident": "ItemStruct", 3013 "features": { 3014 "any": [ 3015 "full" 3016 ] 3017 }, 3018 "fields": { 3019 "attrs": { 3020 "vec": { 3021 "syn": "Attribute" 3022 } 3023 }, 3024 "vis": { 3025 "syn": "Visibility" 3026 }, 3027 "struct_token": { 3028 "token": "Struct" 3029 }, 3030 "ident": { 3031 "proc_macro2": "Ident" 3032 }, 3033 "generics": { 3034 "syn": "Generics" 3035 }, 3036 "fields": { 3037 "syn": "Fields" 3038 }, 3039 "semi_token": { 3040 "option": { 3041 "token": "Semi" 3042 } 3043 } 3044 } 3045 }, 3046 { 3047 "ident": "ItemTrait", 3048 "features": { 3049 "any": [ 3050 "full" 3051 ] 3052 }, 3053 "fields": { 3054 "attrs": { 3055 "vec": { 3056 "syn": "Attribute" 3057 } 3058 }, 3059 "vis": { 3060 "syn": "Visibility" 3061 }, 3062 "unsafety": { 3063 "option": { 3064 "token": "Unsafe" 3065 } 3066 }, 3067 "auto_token": { 3068 "option": { 3069 "token": "Auto" 3070 } 3071 }, 3072 "trait_token": { 3073 "token": "Trait" 3074 }, 3075 "ident": { 3076 "proc_macro2": "Ident" 3077 }, 3078 "generics": { 3079 "syn": "Generics" 3080 }, 3081 "colon_token": { 3082 "option": { 3083 "token": "Colon" 3084 } 3085 }, 3086 "supertraits": { 3087 "punctuated": { 3088 "element": { 3089 "syn": "TypeParamBound" 3090 }, 3091 "punct": "Add" 3092 } 3093 }, 3094 "brace_token": { 3095 "group": "Brace" 3096 }, 3097 "items": { 3098 "vec": { 3099 "syn": "TraitItem" 3100 } 3101 } 3102 } 3103 }, 3104 { 3105 "ident": "ItemTraitAlias", 3106 "features": { 3107 "any": [ 3108 "full" 3109 ] 3110 }, 3111 "fields": { 3112 "attrs": { 3113 "vec": { 3114 "syn": "Attribute" 3115 } 3116 }, 3117 "vis": { 3118 "syn": "Visibility" 3119 }, 3120 "trait_token": { 3121 "token": "Trait" 3122 }, 3123 "ident": { 3124 "proc_macro2": "Ident" 3125 }, 3126 "generics": { 3127 "syn": "Generics" 3128 }, 3129 "eq_token": { 3130 "token": "Eq" 3131 }, 3132 "bounds": { 3133 "punctuated": { 3134 "element": { 3135 "syn": "TypeParamBound" 3136 }, 3137 "punct": "Add" 3138 } 3139 }, 3140 "semi_token": { 3141 "token": "Semi" 3142 } 3143 } 3144 }, 3145 { 3146 "ident": "ItemType", 3147 "features": { 3148 "any": [ 3149 "full" 3150 ] 3151 }, 3152 "fields": { 3153 "attrs": { 3154 "vec": { 3155 "syn": "Attribute" 3156 } 3157 }, 3158 "vis": { 3159 "syn": "Visibility" 3160 }, 3161 "type_token": { 3162 "token": "Type" 3163 }, 3164 "ident": { 3165 "proc_macro2": "Ident" 3166 }, 3167 "generics": { 3168 "syn": "Generics" 3169 }, 3170 "eq_token": { 3171 "token": "Eq" 3172 }, 3173 "ty": { 3174 "box": { 3175 "syn": "Type" 3176 } 3177 }, 3178 "semi_token": { 3179 "token": "Semi" 3180 } 3181 } 3182 }, 3183 { 3184 "ident": "ItemUnion", 3185 "features": { 3186 "any": [ 3187 "full" 3188 ] 3189 }, 3190 "fields": { 3191 "attrs": { 3192 "vec": { 3193 "syn": "Attribute" 3194 } 3195 }, 3196 "vis": { 3197 "syn": "Visibility" 3198 }, 3199 "union_token": { 3200 "token": "Union" 3201 }, 3202 "ident": { 3203 "proc_macro2": "Ident" 3204 }, 3205 "generics": { 3206 "syn": "Generics" 3207 }, 3208 "fields": { 3209 "syn": "FieldsNamed" 3210 } 3211 } 3212 }, 3213 { 3214 "ident": "ItemUse", 3215 "features": { 3216 "any": [ 3217 "full" 3218 ] 3219 }, 3220 "fields": { 3221 "attrs": { 3222 "vec": { 3223 "syn": "Attribute" 3224 } 3225 }, 3226 "vis": { 3227 "syn": "Visibility" 3228 }, 3229 "use_token": { 3230 "token": "Use" 3231 }, 3232 "leading_colon": { 3233 "option": { 3234 "token": "Colon2" 3235 } 3236 }, 3237 "tree": { 3238 "syn": "UseTree" 3239 }, 3240 "semi_token": { 3241 "token": "Semi" 3242 } 3243 } 3244 }, 3245 { 3246 "ident": "Label", 3247 "features": { 3248 "any": [ 3249 "full" 3250 ] 3251 }, 3252 "fields": { 3253 "name": { 3254 "syn": "Lifetime" 3255 }, 3256 "colon_token": { 3257 "token": "Colon" 3258 } 3259 } 3260 }, 3261 { 3262 "ident": "Lifetime", 3263 "features": { 3264 "any": [] 3265 }, 3266 "fields": { 3267 "apostrophe": { 3268 "proc_macro2": "Span" 3269 }, 3270 "ident": { 3271 "proc_macro2": "Ident" 3272 } 3273 } 3274 }, 3275 { 3276 "ident": "LifetimeDef", 3277 "features": { 3278 "any": [ 3279 "derive", 3280 "full" 3281 ] 3282 }, 3283 "fields": { 3284 "attrs": { 3285 "vec": { 3286 "syn": "Attribute" 3287 } 3288 }, 3289 "lifetime": { 3290 "syn": "Lifetime" 3291 }, 3292 "colon_token": { 3293 "option": { 3294 "token": "Colon" 3295 } 3296 }, 3297 "bounds": { 3298 "punctuated": { 3299 "element": { 3300 "syn": "Lifetime" 3301 }, 3302 "punct": "Add" 3303 } 3304 } 3305 } 3306 }, 3307 { 3308 "ident": "Lit", 3309 "features": { 3310 "any": [] 3311 }, 3312 "variants": { 3313 "Str": [ 3314 { 3315 "syn": "LitStr" 3316 } 3317 ], 3318 "ByteStr": [ 3319 { 3320 "syn": "LitByteStr" 3321 } 3322 ], 3323 "Byte": [ 3324 { 3325 "syn": "LitByte" 3326 } 3327 ], 3328 "Char": [ 3329 { 3330 "syn": "LitChar" 3331 } 3332 ], 3333 "Int": [ 3334 { 3335 "syn": "LitInt" 3336 } 3337 ], 3338 "Float": [ 3339 { 3340 "syn": "LitFloat" 3341 } 3342 ], 3343 "Bool": [ 3344 { 3345 "syn": "LitBool" 3346 } 3347 ], 3348 "Verbatim": [ 3349 { 3350 "proc_macro2": "Literal" 3351 } 3352 ] 3353 } 3354 }, 3355 { 3356 "ident": "LitBool", 3357 "features": { 3358 "any": [] 3359 }, 3360 "fields": { 3361 "value": { 3362 "std": "bool" 3363 }, 3364 "span": { 3365 "proc_macro2": "Span" 3366 } 3367 } 3368 }, 3369 { 3370 "ident": "LitByte", 3371 "features": { 3372 "any": [] 3373 } 3374 }, 3375 { 3376 "ident": "LitByteStr", 3377 "features": { 3378 "any": [] 3379 } 3380 }, 3381 { 3382 "ident": "LitChar", 3383 "features": { 3384 "any": [] 3385 } 3386 }, 3387 { 3388 "ident": "LitFloat", 3389 "features": { 3390 "any": [] 3391 } 3392 }, 3393 { 3394 "ident": "LitInt", 3395 "features": { 3396 "any": [] 3397 } 3398 }, 3399 { 3400 "ident": "LitStr", 3401 "features": { 3402 "any": [] 3403 } 3404 }, 3405 { 3406 "ident": "Local", 3407 "features": { 3408 "any": [ 3409 "full" 3410 ] 3411 }, 3412 "fields": { 3413 "attrs": { 3414 "vec": { 3415 "syn": "Attribute" 3416 } 3417 }, 3418 "let_token": { 3419 "token": "Let" 3420 }, 3421 "pat": { 3422 "syn": "Pat" 3423 }, 3424 "init": { 3425 "option": { 3426 "tuple": [ 3427 { 3428 "token": "Eq" 3429 }, 3430 { 3431 "box": { 3432 "syn": "Expr" 3433 } 3434 } 3435 ] 3436 } 3437 }, 3438 "semi_token": { 3439 "token": "Semi" 3440 } 3441 } 3442 }, 3443 { 3444 "ident": "Macro", 3445 "features": { 3446 "any": [ 3447 "derive", 3448 "full" 3449 ] 3450 }, 3451 "fields": { 3452 "path": { 3453 "syn": "Path" 3454 }, 3455 "bang_token": { 3456 "token": "Bang" 3457 }, 3458 "delimiter": { 3459 "syn": "MacroDelimiter" 3460 }, 3461 "tokens": { 3462 "proc_macro2": "TokenStream" 3463 } 3464 } 3465 }, 3466 { 3467 "ident": "MacroDelimiter", 3468 "features": { 3469 "any": [ 3470 "derive", 3471 "full" 3472 ] 3473 }, 3474 "variants": { 3475 "Paren": [ 3476 { 3477 "group": "Paren" 3478 } 3479 ], 3480 "Brace": [ 3481 { 3482 "group": "Brace" 3483 } 3484 ], 3485 "Bracket": [ 3486 { 3487 "group": "Bracket" 3488 } 3489 ] 3490 } 3491 }, 3492 { 3493 "ident": "Member", 3494 "features": { 3495 "any": [ 3496 "derive", 3497 "full" 3498 ] 3499 }, 3500 "variants": { 3501 "Named": [ 3502 { 3503 "proc_macro2": "Ident" 3504 } 3505 ], 3506 "Unnamed": [ 3507 { 3508 "syn": "Index" 3509 } 3510 ] 3511 } 3512 }, 3513 { 3514 "ident": "Meta", 3515 "features": { 3516 "any": [ 3517 "derive", 3518 "full" 3519 ] 3520 }, 3521 "variants": { 3522 "Path": [ 3523 { 3524 "syn": "Path" 3525 } 3526 ], 3527 "List": [ 3528 { 3529 "syn": "MetaList" 3530 } 3531 ], 3532 "NameValue": [ 3533 { 3534 "syn": "MetaNameValue" 3535 } 3536 ] 3537 } 3538 }, 3539 { 3540 "ident": "MetaList", 3541 "features": { 3542 "any": [ 3543 "derive", 3544 "full" 3545 ] 3546 }, 3547 "fields": { 3548 "path": { 3549 "syn": "Path" 3550 }, 3551 "paren_token": { 3552 "group": "Paren" 3553 }, 3554 "nested": { 3555 "punctuated": { 3556 "element": { 3557 "syn": "NestedMeta" 3558 }, 3559 "punct": "Comma" 3560 } 3561 } 3562 } 3563 }, 3564 { 3565 "ident": "MetaNameValue", 3566 "features": { 3567 "any": [ 3568 "derive", 3569 "full" 3570 ] 3571 }, 3572 "fields": { 3573 "path": { 3574 "syn": "Path" 3575 }, 3576 "eq_token": { 3577 "token": "Eq" 3578 }, 3579 "lit": { 3580 "syn": "Lit" 3581 } 3582 } 3583 }, 3584 { 3585 "ident": "MethodTurbofish", 3586 "features": { 3587 "any": [ 3588 "full" 3589 ] 3590 }, 3591 "fields": { 3592 "colon2_token": { 3593 "token": "Colon2" 3594 }, 3595 "lt_token": { 3596 "token": "Lt" 3597 }, 3598 "args": { 3599 "punctuated": { 3600 "element": { 3601 "syn": "GenericMethodArgument" 3602 }, 3603 "punct": "Comma" 3604 } 3605 }, 3606 "gt_token": { 3607 "token": "Gt" 3608 } 3609 } 3610 }, 3611 { 3612 "ident": "NestedMeta", 3613 "features": { 3614 "any": [ 3615 "derive", 3616 "full" 3617 ] 3618 }, 3619 "variants": { 3620 "Meta": [ 3621 { 3622 "syn": "Meta" 3623 } 3624 ], 3625 "Lit": [ 3626 { 3627 "syn": "Lit" 3628 } 3629 ] 3630 } 3631 }, 3632 { 3633 "ident": "ParenthesizedGenericArguments", 3634 "features": { 3635 "any": [ 3636 "derive", 3637 "full" 3638 ] 3639 }, 3640 "fields": { 3641 "paren_token": { 3642 "group": "Paren" 3643 }, 3644 "inputs": { 3645 "punctuated": { 3646 "element": { 3647 "syn": "Type" 3648 }, 3649 "punct": "Comma" 3650 } 3651 }, 3652 "output": { 3653 "syn": "ReturnType" 3654 } 3655 } 3656 }, 3657 { 3658 "ident": "Pat", 3659 "features": { 3660 "any": [ 3661 "full" 3662 ] 3663 }, 3664 "variants": { 3665 "Box": [ 3666 { 3667 "syn": "PatBox" 3668 } 3669 ], 3670 "Ident": [ 3671 { 3672 "syn": "PatIdent" 3673 } 3674 ], 3675 "Lit": [ 3676 { 3677 "syn": "PatLit" 3678 } 3679 ], 3680 "Macro": [ 3681 { 3682 "syn": "PatMacro" 3683 } 3684 ], 3685 "Or": [ 3686 { 3687 "syn": "PatOr" 3688 } 3689 ], 3690 "Path": [ 3691 { 3692 "syn": "PatPath" 3693 } 3694 ], 3695 "Range": [ 3696 { 3697 "syn": "PatRange" 3698 } 3699 ], 3700 "Reference": [ 3701 { 3702 "syn": "PatReference" 3703 } 3704 ], 3705 "Rest": [ 3706 { 3707 "syn": "PatRest" 3708 } 3709 ], 3710 "Slice": [ 3711 { 3712 "syn": "PatSlice" 3713 } 3714 ], 3715 "Struct": [ 3716 { 3717 "syn": "PatStruct" 3718 } 3719 ], 3720 "Tuple": [ 3721 { 3722 "syn": "PatTuple" 3723 } 3724 ], 3725 "TupleStruct": [ 3726 { 3727 "syn": "PatTupleStruct" 3728 } 3729 ], 3730 "Type": [ 3731 { 3732 "syn": "PatType" 3733 } 3734 ], 3735 "Verbatim": [ 3736 { 3737 "proc_macro2": "TokenStream" 3738 } 3739 ], 3740 "Wild": [ 3741 { 3742 "syn": "PatWild" 3743 } 3744 ] 3745 }, 3746 "exhaustive": false 3747 }, 3748 { 3749 "ident": "PatBox", 3750 "features": { 3751 "any": [ 3752 "full" 3753 ] 3754 }, 3755 "fields": { 3756 "attrs": { 3757 "vec": { 3758 "syn": "Attribute" 3759 } 3760 }, 3761 "box_token": { 3762 "token": "Box" 3763 }, 3764 "pat": { 3765 "box": { 3766 "syn": "Pat" 3767 } 3768 } 3769 } 3770 }, 3771 { 3772 "ident": "PatIdent", 3773 "features": { 3774 "any": [ 3775 "full" 3776 ] 3777 }, 3778 "fields": { 3779 "attrs": { 3780 "vec": { 3781 "syn": "Attribute" 3782 } 3783 }, 3784 "by_ref": { 3785 "option": { 3786 "token": "Ref" 3787 } 3788 }, 3789 "mutability": { 3790 "option": { 3791 "token": "Mut" 3792 } 3793 }, 3794 "ident": { 3795 "proc_macro2": "Ident" 3796 }, 3797 "subpat": { 3798 "option": { 3799 "tuple": [ 3800 { 3801 "token": "At" 3802 }, 3803 { 3804 "box": { 3805 "syn": "Pat" 3806 } 3807 } 3808 ] 3809 } 3810 } 3811 } 3812 }, 3813 { 3814 "ident": "PatLit", 3815 "features": { 3816 "any": [ 3817 "full" 3818 ] 3819 }, 3820 "fields": { 3821 "attrs": { 3822 "vec": { 3823 "syn": "Attribute" 3824 } 3825 }, 3826 "expr": { 3827 "box": { 3828 "syn": "Expr" 3829 } 3830 } 3831 } 3832 }, 3833 { 3834 "ident": "PatMacro", 3835 "features": { 3836 "any": [ 3837 "full" 3838 ] 3839 }, 3840 "fields": { 3841 "attrs": { 3842 "vec": { 3843 "syn": "Attribute" 3844 } 3845 }, 3846 "mac": { 3847 "syn": "Macro" 3848 } 3849 } 3850 }, 3851 { 3852 "ident": "PatOr", 3853 "features": { 3854 "any": [ 3855 "full" 3856 ] 3857 }, 3858 "fields": { 3859 "attrs": { 3860 "vec": { 3861 "syn": "Attribute" 3862 } 3863 }, 3864 "leading_vert": { 3865 "option": { 3866 "token": "Or" 3867 } 3868 }, 3869 "cases": { 3870 "punctuated": { 3871 "element": { 3872 "syn": "Pat" 3873 }, 3874 "punct": "Or" 3875 } 3876 } 3877 } 3878 }, 3879 { 3880 "ident": "PatPath", 3881 "features": { 3882 "any": [ 3883 "full" 3884 ] 3885 }, 3886 "fields": { 3887 "attrs": { 3888 "vec": { 3889 "syn": "Attribute" 3890 } 3891 }, 3892 "qself": { 3893 "option": { 3894 "syn": "QSelf" 3895 } 3896 }, 3897 "path": { 3898 "syn": "Path" 3899 } 3900 } 3901 }, 3902 { 3903 "ident": "PatRange", 3904 "features": { 3905 "any": [ 3906 "full" 3907 ] 3908 }, 3909 "fields": { 3910 "attrs": { 3911 "vec": { 3912 "syn": "Attribute" 3913 } 3914 }, 3915 "lo": { 3916 "box": { 3917 "syn": "Expr" 3918 } 3919 }, 3920 "limits": { 3921 "syn": "RangeLimits" 3922 }, 3923 "hi": { 3924 "box": { 3925 "syn": "Expr" 3926 } 3927 } 3928 } 3929 }, 3930 { 3931 "ident": "PatReference", 3932 "features": { 3933 "any": [ 3934 "full" 3935 ] 3936 }, 3937 "fields": { 3938 "attrs": { 3939 "vec": { 3940 "syn": "Attribute" 3941 } 3942 }, 3943 "and_token": { 3944 "token": "And" 3945 }, 3946 "mutability": { 3947 "option": { 3948 "token": "Mut" 3949 } 3950 }, 3951 "pat": { 3952 "box": { 3953 "syn": "Pat" 3954 } 3955 } 3956 } 3957 }, 3958 { 3959 "ident": "PatRest", 3960 "features": { 3961 "any": [ 3962 "full" 3963 ] 3964 }, 3965 "fields": { 3966 "attrs": { 3967 "vec": { 3968 "syn": "Attribute" 3969 } 3970 }, 3971 "dot2_token": { 3972 "token": "Dot2" 3973 } 3974 } 3975 }, 3976 { 3977 "ident": "PatSlice", 3978 "features": { 3979 "any": [ 3980 "full" 3981 ] 3982 }, 3983 "fields": { 3984 "attrs": { 3985 "vec": { 3986 "syn": "Attribute" 3987 } 3988 }, 3989 "bracket_token": { 3990 "group": "Bracket" 3991 }, 3992 "elems": { 3993 "punctuated": { 3994 "element": { 3995 "syn": "Pat" 3996 }, 3997 "punct": "Comma" 3998 } 3999 } 4000 } 4001 }, 4002 { 4003 "ident": "PatStruct", 4004 "features": { 4005 "any": [ 4006 "full" 4007 ] 4008 }, 4009 "fields": { 4010 "attrs": { 4011 "vec": { 4012 "syn": "Attribute" 4013 } 4014 }, 4015 "path": { 4016 "syn": "Path" 4017 }, 4018 "brace_token": { 4019 "group": "Brace" 4020 }, 4021 "fields": { 4022 "punctuated": { 4023 "element": { 4024 "syn": "FieldPat" 4025 }, 4026 "punct": "Comma" 4027 } 4028 }, 4029 "dot2_token": { 4030 "option": { 4031 "token": "Dot2" 4032 } 4033 } 4034 } 4035 }, 4036 { 4037 "ident": "PatTuple", 4038 "features": { 4039 "any": [ 4040 "full" 4041 ] 4042 }, 4043 "fields": { 4044 "attrs": { 4045 "vec": { 4046 "syn": "Attribute" 4047 } 4048 }, 4049 "paren_token": { 4050 "group": "Paren" 4051 }, 4052 "elems": { 4053 "punctuated": { 4054 "element": { 4055 "syn": "Pat" 4056 }, 4057 "punct": "Comma" 4058 } 4059 } 4060 } 4061 }, 4062 { 4063 "ident": "PatTupleStruct", 4064 "features": { 4065 "any": [ 4066 "full" 4067 ] 4068 }, 4069 "fields": { 4070 "attrs": { 4071 "vec": { 4072 "syn": "Attribute" 4073 } 4074 }, 4075 "path": { 4076 "syn": "Path" 4077 }, 4078 "pat": { 4079 "syn": "PatTuple" 4080 } 4081 } 4082 }, 4083 { 4084 "ident": "PatType", 4085 "features": { 4086 "any": [ 4087 "full" 4088 ] 4089 }, 4090 "fields": { 4091 "attrs": { 4092 "vec": { 4093 "syn": "Attribute" 4094 } 4095 }, 4096 "pat": { 4097 "box": { 4098 "syn": "Pat" 4099 } 4100 }, 4101 "colon_token": { 4102 "token": "Colon" 4103 }, 4104 "ty": { 4105 "box": { 4106 "syn": "Type" 4107 } 4108 } 4109 } 4110 }, 4111 { 4112 "ident": "PatWild", 4113 "features": { 4114 "any": [ 4115 "full" 4116 ] 4117 }, 4118 "fields": { 4119 "attrs": { 4120 "vec": { 4121 "syn": "Attribute" 4122 } 4123 }, 4124 "underscore_token": { 4125 "token": "Underscore" 4126 } 4127 } 4128 }, 4129 { 4130 "ident": "Path", 4131 "features": { 4132 "any": [ 4133 "derive", 4134 "full" 4135 ] 4136 }, 4137 "fields": { 4138 "leading_colon": { 4139 "option": { 4140 "token": "Colon2" 4141 } 4142 }, 4143 "segments": { 4144 "punctuated": { 4145 "element": { 4146 "syn": "PathSegment" 4147 }, 4148 "punct": "Colon2" 4149 } 4150 } 4151 } 4152 }, 4153 { 4154 "ident": "PathArguments", 4155 "features": { 4156 "any": [ 4157 "derive", 4158 "full" 4159 ] 4160 }, 4161 "variants": { 4162 "None": [], 4163 "AngleBracketed": [ 4164 { 4165 "syn": "AngleBracketedGenericArguments" 4166 } 4167 ], 4168 "Parenthesized": [ 4169 { 4170 "syn": "ParenthesizedGenericArguments" 4171 } 4172 ] 4173 } 4174 }, 4175 { 4176 "ident": "PathSegment", 4177 "features": { 4178 "any": [ 4179 "derive", 4180 "full" 4181 ] 4182 }, 4183 "fields": { 4184 "ident": { 4185 "proc_macro2": "Ident" 4186 }, 4187 "arguments": { 4188 "syn": "PathArguments" 4189 } 4190 } 4191 }, 4192 { 4193 "ident": "PredicateEq", 4194 "features": { 4195 "any": [ 4196 "derive", 4197 "full" 4198 ] 4199 }, 4200 "fields": { 4201 "lhs_ty": { 4202 "syn": "Type" 4203 }, 4204 "eq_token": { 4205 "token": "Eq" 4206 }, 4207 "rhs_ty": { 4208 "syn": "Type" 4209 } 4210 } 4211 }, 4212 { 4213 "ident": "PredicateLifetime", 4214 "features": { 4215 "any": [ 4216 "derive", 4217 "full" 4218 ] 4219 }, 4220 "fields": { 4221 "lifetime": { 4222 "syn": "Lifetime" 4223 }, 4224 "colon_token": { 4225 "token": "Colon" 4226 }, 4227 "bounds": { 4228 "punctuated": { 4229 "element": { 4230 "syn": "Lifetime" 4231 }, 4232 "punct": "Add" 4233 } 4234 } 4235 } 4236 }, 4237 { 4238 "ident": "PredicateType", 4239 "features": { 4240 "any": [ 4241 "derive", 4242 "full" 4243 ] 4244 }, 4245 "fields": { 4246 "lifetimes": { 4247 "option": { 4248 "syn": "BoundLifetimes" 4249 } 4250 }, 4251 "bounded_ty": { 4252 "syn": "Type" 4253 }, 4254 "colon_token": { 4255 "token": "Colon" 4256 }, 4257 "bounds": { 4258 "punctuated": { 4259 "element": { 4260 "syn": "TypeParamBound" 4261 }, 4262 "punct": "Add" 4263 } 4264 } 4265 } 4266 }, 4267 { 4268 "ident": "QSelf", 4269 "features": { 4270 "any": [ 4271 "derive", 4272 "full" 4273 ] 4274 }, 4275 "fields": { 4276 "lt_token": { 4277 "token": "Lt" 4278 }, 4279 "ty": { 4280 "box": { 4281 "syn": "Type" 4282 } 4283 }, 4284 "position": { 4285 "std": "usize" 4286 }, 4287 "as_token": { 4288 "option": { 4289 "token": "As" 4290 } 4291 }, 4292 "gt_token": { 4293 "token": "Gt" 4294 } 4295 } 4296 }, 4297 { 4298 "ident": "RangeLimits", 4299 "features": { 4300 "any": [ 4301 "full" 4302 ] 4303 }, 4304 "variants": { 4305 "HalfOpen": [ 4306 { 4307 "token": "Dot2" 4308 } 4309 ], 4310 "Closed": [ 4311 { 4312 "token": "DotDotEq" 4313 } 4314 ] 4315 } 4316 }, 4317 { 4318 "ident": "Receiver", 4319 "features": { 4320 "any": [ 4321 "full" 4322 ] 4323 }, 4324 "fields": { 4325 "attrs": { 4326 "vec": { 4327 "syn": "Attribute" 4328 } 4329 }, 4330 "reference": { 4331 "option": { 4332 "tuple": [ 4333 { 4334 "token": "And" 4335 }, 4336 { 4337 "option": { 4338 "syn": "Lifetime" 4339 } 4340 } 4341 ] 4342 } 4343 }, 4344 "mutability": { 4345 "option": { 4346 "token": "Mut" 4347 } 4348 }, 4349 "self_token": { 4350 "token": "SelfValue" 4351 } 4352 } 4353 }, 4354 { 4355 "ident": "ReturnType", 4356 "features": { 4357 "any": [ 4358 "derive", 4359 "full" 4360 ] 4361 }, 4362 "variants": { 4363 "Default": [], 4364 "Type": [ 4365 { 4366 "token": "RArrow" 4367 }, 4368 { 4369 "box": { 4370 "syn": "Type" 4371 } 4372 } 4373 ] 4374 } 4375 }, 4376 { 4377 "ident": "Signature", 4378 "features": { 4379 "any": [ 4380 "full" 4381 ] 4382 }, 4383 "fields": { 4384 "constness": { 4385 "option": { 4386 "token": "Const" 4387 } 4388 }, 4389 "asyncness": { 4390 "option": { 4391 "token": "Async" 4392 } 4393 }, 4394 "unsafety": { 4395 "option": { 4396 "token": "Unsafe" 4397 } 4398 }, 4399 "abi": { 4400 "option": { 4401 "syn": "Abi" 4402 } 4403 }, 4404 "fn_token": { 4405 "token": "Fn" 4406 }, 4407 "ident": { 4408 "proc_macro2": "Ident" 4409 }, 4410 "generics": { 4411 "syn": "Generics" 4412 }, 4413 "paren_token": { 4414 "group": "Paren" 4415 }, 4416 "inputs": { 4417 "punctuated": { 4418 "element": { 4419 "syn": "FnArg" 4420 }, 4421 "punct": "Comma" 4422 } 4423 }, 4424 "variadic": { 4425 "option": { 4426 "syn": "Variadic" 4427 } 4428 }, 4429 "output": { 4430 "syn": "ReturnType" 4431 } 4432 } 4433 }, 4434 { 4435 "ident": "Stmt", 4436 "features": { 4437 "any": [ 4438 "full" 4439 ] 4440 }, 4441 "variants": { 4442 "Local": [ 4443 { 4444 "syn": "Local" 4445 } 4446 ], 4447 "Item": [ 4448 { 4449 "syn": "Item" 4450 } 4451 ], 4452 "Expr": [ 4453 { 4454 "syn": "Expr" 4455 } 4456 ], 4457 "Semi": [ 4458 { 4459 "syn": "Expr" 4460 }, 4461 { 4462 "token": "Semi" 4463 } 4464 ] 4465 } 4466 }, 4467 { 4468 "ident": "TraitBound", 4469 "features": { 4470 "any": [ 4471 "derive", 4472 "full" 4473 ] 4474 }, 4475 "fields": { 4476 "paren_token": { 4477 "option": { 4478 "group": "Paren" 4479 } 4480 }, 4481 "modifier": { 4482 "syn": "TraitBoundModifier" 4483 }, 4484 "lifetimes": { 4485 "option": { 4486 "syn": "BoundLifetimes" 4487 } 4488 }, 4489 "path": { 4490 "syn": "Path" 4491 } 4492 } 4493 }, 4494 { 4495 "ident": "TraitBoundModifier", 4496 "features": { 4497 "any": [ 4498 "derive", 4499 "full" 4500 ] 4501 }, 4502 "variants": { 4503 "None": [], 4504 "Maybe": [ 4505 { 4506 "token": "Question" 4507 } 4508 ] 4509 } 4510 }, 4511 { 4512 "ident": "TraitItem", 4513 "features": { 4514 "any": [ 4515 "full" 4516 ] 4517 }, 4518 "variants": { 4519 "Const": [ 4520 { 4521 "syn": "TraitItemConst" 4522 } 4523 ], 4524 "Method": [ 4525 { 4526 "syn": "TraitItemMethod" 4527 } 4528 ], 4529 "Type": [ 4530 { 4531 "syn": "TraitItemType" 4532 } 4533 ], 4534 "Macro": [ 4535 { 4536 "syn": "TraitItemMacro" 4537 } 4538 ], 4539 "Verbatim": [ 4540 { 4541 "proc_macro2": "TokenStream" 4542 } 4543 ] 4544 }, 4545 "exhaustive": false 4546 }, 4547 { 4548 "ident": "TraitItemConst", 4549 "features": { 4550 "any": [ 4551 "full" 4552 ] 4553 }, 4554 "fields": { 4555 "attrs": { 4556 "vec": { 4557 "syn": "Attribute" 4558 } 4559 }, 4560 "const_token": { 4561 "token": "Const" 4562 }, 4563 "ident": { 4564 "proc_macro2": "Ident" 4565 }, 4566 "colon_token": { 4567 "token": "Colon" 4568 }, 4569 "ty": { 4570 "syn": "Type" 4571 }, 4572 "default": { 4573 "option": { 4574 "tuple": [ 4575 { 4576 "token": "Eq" 4577 }, 4578 { 4579 "syn": "Expr" 4580 } 4581 ] 4582 } 4583 }, 4584 "semi_token": { 4585 "token": "Semi" 4586 } 4587 } 4588 }, 4589 { 4590 "ident": "TraitItemMacro", 4591 "features": { 4592 "any": [ 4593 "full" 4594 ] 4595 }, 4596 "fields": { 4597 "attrs": { 4598 "vec": { 4599 "syn": "Attribute" 4600 } 4601 }, 4602 "mac": { 4603 "syn": "Macro" 4604 }, 4605 "semi_token": { 4606 "option": { 4607 "token": "Semi" 4608 } 4609 } 4610 } 4611 }, 4612 { 4613 "ident": "TraitItemMethod", 4614 "features": { 4615 "any": [ 4616 "full" 4617 ] 4618 }, 4619 "fields": { 4620 "attrs": { 4621 "vec": { 4622 "syn": "Attribute" 4623 } 4624 }, 4625 "sig": { 4626 "syn": "Signature" 4627 }, 4628 "default": { 4629 "option": { 4630 "syn": "Block" 4631 } 4632 }, 4633 "semi_token": { 4634 "option": { 4635 "token": "Semi" 4636 } 4637 } 4638 } 4639 }, 4640 { 4641 "ident": "TraitItemType", 4642 "features": { 4643 "any": [ 4644 "full" 4645 ] 4646 }, 4647 "fields": { 4648 "attrs": { 4649 "vec": { 4650 "syn": "Attribute" 4651 } 4652 }, 4653 "type_token": { 4654 "token": "Type" 4655 }, 4656 "ident": { 4657 "proc_macro2": "Ident" 4658 }, 4659 "generics": { 4660 "syn": "Generics" 4661 }, 4662 "colon_token": { 4663 "option": { 4664 "token": "Colon" 4665 } 4666 }, 4667 "bounds": { 4668 "punctuated": { 4669 "element": { 4670 "syn": "TypeParamBound" 4671 }, 4672 "punct": "Add" 4673 } 4674 }, 4675 "default": { 4676 "option": { 4677 "tuple": [ 4678 { 4679 "token": "Eq" 4680 }, 4681 { 4682 "syn": "Type" 4683 } 4684 ] 4685 } 4686 }, 4687 "semi_token": { 4688 "token": "Semi" 4689 } 4690 } 4691 }, 4692 { 4693 "ident": "Type", 4694 "features": { 4695 "any": [ 4696 "derive", 4697 "full" 4698 ] 4699 }, 4700 "variants": { 4701 "Array": [ 4702 { 4703 "syn": "TypeArray" 4704 } 4705 ], 4706 "BareFn": [ 4707 { 4708 "syn": "TypeBareFn" 4709 } 4710 ], 4711 "Group": [ 4712 { 4713 "syn": "TypeGroup" 4714 } 4715 ], 4716 "ImplTrait": [ 4717 { 4718 "syn": "TypeImplTrait" 4719 } 4720 ], 4721 "Infer": [ 4722 { 4723 "syn": "TypeInfer" 4724 } 4725 ], 4726 "Macro": [ 4727 { 4728 "syn": "TypeMacro" 4729 } 4730 ], 4731 "Never": [ 4732 { 4733 "syn": "TypeNever" 4734 } 4735 ], 4736 "Paren": [ 4737 { 4738 "syn": "TypeParen" 4739 } 4740 ], 4741 "Path": [ 4742 { 4743 "syn": "TypePath" 4744 } 4745 ], 4746 "Ptr": [ 4747 { 4748 "syn": "TypePtr" 4749 } 4750 ], 4751 "Reference": [ 4752 { 4753 "syn": "TypeReference" 4754 } 4755 ], 4756 "Slice": [ 4757 { 4758 "syn": "TypeSlice" 4759 } 4760 ], 4761 "TraitObject": [ 4762 { 4763 "syn": "TypeTraitObject" 4764 } 4765 ], 4766 "Tuple": [ 4767 { 4768 "syn": "TypeTuple" 4769 } 4770 ], 4771 "Verbatim": [ 4772 { 4773 "proc_macro2": "TokenStream" 4774 } 4775 ] 4776 }, 4777 "exhaustive": false 4778 }, 4779 { 4780 "ident": "TypeArray", 4781 "features": { 4782 "any": [ 4783 "derive", 4784 "full" 4785 ] 4786 }, 4787 "fields": { 4788 "bracket_token": { 4789 "group": "Bracket" 4790 }, 4791 "elem": { 4792 "box": { 4793 "syn": "Type" 4794 } 4795 }, 4796 "semi_token": { 4797 "token": "Semi" 4798 }, 4799 "len": { 4800 "syn": "Expr" 4801 } 4802 } 4803 }, 4804 { 4805 "ident": "TypeBareFn", 4806 "features": { 4807 "any": [ 4808 "derive", 4809 "full" 4810 ] 4811 }, 4812 "fields": { 4813 "lifetimes": { 4814 "option": { 4815 "syn": "BoundLifetimes" 4816 } 4817 }, 4818 "unsafety": { 4819 "option": { 4820 "token": "Unsafe" 4821 } 4822 }, 4823 "abi": { 4824 "option": { 4825 "syn": "Abi" 4826 } 4827 }, 4828 "fn_token": { 4829 "token": "Fn" 4830 }, 4831 "paren_token": { 4832 "group": "Paren" 4833 }, 4834 "inputs": { 4835 "punctuated": { 4836 "element": { 4837 "syn": "BareFnArg" 4838 }, 4839 "punct": "Comma" 4840 } 4841 }, 4842 "variadic": { 4843 "option": { 4844 "syn": "Variadic" 4845 } 4846 }, 4847 "output": { 4848 "syn": "ReturnType" 4849 } 4850 } 4851 }, 4852 { 4853 "ident": "TypeGroup", 4854 "features": { 4855 "any": [ 4856 "derive", 4857 "full" 4858 ] 4859 }, 4860 "fields": { 4861 "group_token": { 4862 "group": "Group" 4863 }, 4864 "elem": { 4865 "box": { 4866 "syn": "Type" 4867 } 4868 } 4869 } 4870 }, 4871 { 4872 "ident": "TypeImplTrait", 4873 "features": { 4874 "any": [ 4875 "derive", 4876 "full" 4877 ] 4878 }, 4879 "fields": { 4880 "impl_token": { 4881 "token": "Impl" 4882 }, 4883 "bounds": { 4884 "punctuated": { 4885 "element": { 4886 "syn": "TypeParamBound" 4887 }, 4888 "punct": "Add" 4889 } 4890 } 4891 } 4892 }, 4893 { 4894 "ident": "TypeInfer", 4895 "features": { 4896 "any": [ 4897 "derive", 4898 "full" 4899 ] 4900 }, 4901 "fields": { 4902 "underscore_token": { 4903 "token": "Underscore" 4904 } 4905 } 4906 }, 4907 { 4908 "ident": "TypeMacro", 4909 "features": { 4910 "any": [ 4911 "derive", 4912 "full" 4913 ] 4914 }, 4915 "fields": { 4916 "mac": { 4917 "syn": "Macro" 4918 } 4919 } 4920 }, 4921 { 4922 "ident": "TypeNever", 4923 "features": { 4924 "any": [ 4925 "derive", 4926 "full" 4927 ] 4928 }, 4929 "fields": { 4930 "bang_token": { 4931 "token": "Bang" 4932 } 4933 } 4934 }, 4935 { 4936 "ident": "TypeParam", 4937 "features": { 4938 "any": [ 4939 "derive", 4940 "full" 4941 ] 4942 }, 4943 "fields": { 4944 "attrs": { 4945 "vec": { 4946 "syn": "Attribute" 4947 } 4948 }, 4949 "ident": { 4950 "proc_macro2": "Ident" 4951 }, 4952 "colon_token": { 4953 "option": { 4954 "token": "Colon" 4955 } 4956 }, 4957 "bounds": { 4958 "punctuated": { 4959 "element": { 4960 "syn": "TypeParamBound" 4961 }, 4962 "punct": "Add" 4963 } 4964 }, 4965 "eq_token": { 4966 "option": { 4967 "token": "Eq" 4968 } 4969 }, 4970 "default": { 4971 "option": { 4972 "syn": "Type" 4973 } 4974 } 4975 } 4976 }, 4977 { 4978 "ident": "TypeParamBound", 4979 "features": { 4980 "any": [ 4981 "derive", 4982 "full" 4983 ] 4984 }, 4985 "variants": { 4986 "Trait": [ 4987 { 4988 "syn": "TraitBound" 4989 } 4990 ], 4991 "Lifetime": [ 4992 { 4993 "syn": "Lifetime" 4994 } 4995 ] 4996 } 4997 }, 4998 { 4999 "ident": "TypeParen", 5000 "features": { 5001 "any": [ 5002 "derive", 5003 "full" 5004 ] 5005 }, 5006 "fields": { 5007 "paren_token": { 5008 "group": "Paren" 5009 }, 5010 "elem": { 5011 "box": { 5012 "syn": "Type" 5013 } 5014 } 5015 } 5016 }, 5017 { 5018 "ident": "TypePath", 5019 "features": { 5020 "any": [ 5021 "derive", 5022 "full" 5023 ] 5024 }, 5025 "fields": { 5026 "qself": { 5027 "option": { 5028 "syn": "QSelf" 5029 } 5030 }, 5031 "path": { 5032 "syn": "Path" 5033 } 5034 } 5035 }, 5036 { 5037 "ident": "TypePtr", 5038 "features": { 5039 "any": [ 5040 "derive", 5041 "full" 5042 ] 5043 }, 5044 "fields": { 5045 "star_token": { 5046 "token": "Star" 5047 }, 5048 "const_token": { 5049 "option": { 5050 "token": "Const" 5051 } 5052 }, 5053 "mutability": { 5054 "option": { 5055 "token": "Mut" 5056 } 5057 }, 5058 "elem": { 5059 "box": { 5060 "syn": "Type" 5061 } 5062 } 5063 } 5064 }, 5065 { 5066 "ident": "TypeReference", 5067 "features": { 5068 "any": [ 5069 "derive", 5070 "full" 5071 ] 5072 }, 5073 "fields": { 5074 "and_token": { 5075 "token": "And" 5076 }, 5077 "lifetime": { 5078 "option": { 5079 "syn": "Lifetime" 5080 } 5081 }, 5082 "mutability": { 5083 "option": { 5084 "token": "Mut" 5085 } 5086 }, 5087 "elem": { 5088 "box": { 5089 "syn": "Type" 5090 } 5091 } 5092 } 5093 }, 5094 { 5095 "ident": "TypeSlice", 5096 "features": { 5097 "any": [ 5098 "derive", 5099 "full" 5100 ] 5101 }, 5102 "fields": { 5103 "bracket_token": { 5104 "group": "Bracket" 5105 }, 5106 "elem": { 5107 "box": { 5108 "syn": "Type" 5109 } 5110 } 5111 } 5112 }, 5113 { 5114 "ident": "TypeTraitObject", 5115 "features": { 5116 "any": [ 5117 "derive", 5118 "full" 5119 ] 5120 }, 5121 "fields": { 5122 "dyn_token": { 5123 "option": { 5124 "token": "Dyn" 5125 } 5126 }, 5127 "bounds": { 5128 "punctuated": { 5129 "element": { 5130 "syn": "TypeParamBound" 5131 }, 5132 "punct": "Add" 5133 } 5134 } 5135 } 5136 }, 5137 { 5138 "ident": "TypeTuple", 5139 "features": { 5140 "any": [ 5141 "derive", 5142 "full" 5143 ] 5144 }, 5145 "fields": { 5146 "paren_token": { 5147 "group": "Paren" 5148 }, 5149 "elems": { 5150 "punctuated": { 5151 "element": { 5152 "syn": "Type" 5153 }, 5154 "punct": "Comma" 5155 } 5156 } 5157 } 5158 }, 5159 { 5160 "ident": "UnOp", 5161 "features": { 5162 "any": [ 5163 "derive", 5164 "full" 5165 ] 5166 }, 5167 "variants": { 5168 "Deref": [ 5169 { 5170 "token": "Star" 5171 } 5172 ], 5173 "Not": [ 5174 { 5175 "token": "Bang" 5176 } 5177 ], 5178 "Neg": [ 5179 { 5180 "token": "Sub" 5181 } 5182 ] 5183 } 5184 }, 5185 { 5186 "ident": "UseGlob", 5187 "features": { 5188 "any": [ 5189 "full" 5190 ] 5191 }, 5192 "fields": { 5193 "star_token": { 5194 "token": "Star" 5195 } 5196 } 5197 }, 5198 { 5199 "ident": "UseGroup", 5200 "features": { 5201 "any": [ 5202 "full" 5203 ] 5204 }, 5205 "fields": { 5206 "brace_token": { 5207 "group": "Brace" 5208 }, 5209 "items": { 5210 "punctuated": { 5211 "element": { 5212 "syn": "UseTree" 5213 }, 5214 "punct": "Comma" 5215 } 5216 } 5217 } 5218 }, 5219 { 5220 "ident": "UseName", 5221 "features": { 5222 "any": [ 5223 "full" 5224 ] 5225 }, 5226 "fields": { 5227 "ident": { 5228 "proc_macro2": "Ident" 5229 } 5230 } 5231 }, 5232 { 5233 "ident": "UsePath", 5234 "features": { 5235 "any": [ 5236 "full" 5237 ] 5238 }, 5239 "fields": { 5240 "ident": { 5241 "proc_macro2": "Ident" 5242 }, 5243 "colon2_token": { 5244 "token": "Colon2" 5245 }, 5246 "tree": { 5247 "box": { 5248 "syn": "UseTree" 5249 } 5250 } 5251 } 5252 }, 5253 { 5254 "ident": "UseRename", 5255 "features": { 5256 "any": [ 5257 "full" 5258 ] 5259 }, 5260 "fields": { 5261 "ident": { 5262 "proc_macro2": "Ident" 5263 }, 5264 "as_token": { 5265 "token": "As" 5266 }, 5267 "rename": { 5268 "proc_macro2": "Ident" 5269 } 5270 } 5271 }, 5272 { 5273 "ident": "UseTree", 5274 "features": { 5275 "any": [ 5276 "full" 5277 ] 5278 }, 5279 "variants": { 5280 "Path": [ 5281 { 5282 "syn": "UsePath" 5283 } 5284 ], 5285 "Name": [ 5286 { 5287 "syn": "UseName" 5288 } 5289 ], 5290 "Rename": [ 5291 { 5292 "syn": "UseRename" 5293 } 5294 ], 5295 "Glob": [ 5296 { 5297 "syn": "UseGlob" 5298 } 5299 ], 5300 "Group": [ 5301 { 5302 "syn": "UseGroup" 5303 } 5304 ] 5305 } 5306 }, 5307 { 5308 "ident": "Variadic", 5309 "features": { 5310 "any": [ 5311 "derive", 5312 "full" 5313 ] 5314 }, 5315 "fields": { 5316 "attrs": { 5317 "vec": { 5318 "syn": "Attribute" 5319 } 5320 }, 5321 "dots": { 5322 "token": "Dot3" 5323 } 5324 } 5325 }, 5326 { 5327 "ident": "Variant", 5328 "features": { 5329 "any": [ 5330 "derive", 5331 "full" 5332 ] 5333 }, 5334 "fields": { 5335 "attrs": { 5336 "vec": { 5337 "syn": "Attribute" 5338 } 5339 }, 5340 "ident": { 5341 "proc_macro2": "Ident" 5342 }, 5343 "fields": { 5344 "syn": "Fields" 5345 }, 5346 "discriminant": { 5347 "option": { 5348 "tuple": [ 5349 { 5350 "token": "Eq" 5351 }, 5352 { 5353 "syn": "Expr" 5354 } 5355 ] 5356 } 5357 } 5358 } 5359 }, 5360 { 5361 "ident": "VisCrate", 5362 "features": { 5363 "any": [ 5364 "derive", 5365 "full" 5366 ] 5367 }, 5368 "fields": { 5369 "crate_token": { 5370 "token": "Crate" 5371 } 5372 } 5373 }, 5374 { 5375 "ident": "VisPublic", 5376 "features": { 5377 "any": [ 5378 "derive", 5379 "full" 5380 ] 5381 }, 5382 "fields": { 5383 "pub_token": { 5384 "token": "Pub" 5385 } 5386 } 5387 }, 5388 { 5389 "ident": "VisRestricted", 5390 "features": { 5391 "any": [ 5392 "derive", 5393 "full" 5394 ] 5395 }, 5396 "fields": { 5397 "pub_token": { 5398 "token": "Pub" 5399 }, 5400 "paren_token": { 5401 "group": "Paren" 5402 }, 5403 "in_token": { 5404 "option": { 5405 "token": "In" 5406 } 5407 }, 5408 "path": { 5409 "box": { 5410 "syn": "Path" 5411 } 5412 } 5413 } 5414 }, 5415 { 5416 "ident": "Visibility", 5417 "features": { 5418 "any": [ 5419 "derive", 5420 "full" 5421 ] 5422 }, 5423 "variants": { 5424 "Public": [ 5425 { 5426 "syn": "VisPublic" 5427 } 5428 ], 5429 "Crate": [ 5430 { 5431 "syn": "VisCrate" 5432 } 5433 ], 5434 "Restricted": [ 5435 { 5436 "syn": "VisRestricted" 5437 } 5438 ], 5439 "Inherited": [] 5440 } 5441 }, 5442 { 5443 "ident": "WhereClause", 5444 "features": { 5445 "any": [ 5446 "derive", 5447 "full" 5448 ] 5449 }, 5450 "fields": { 5451 "where_token": { 5452 "token": "Where" 5453 }, 5454 "predicates": { 5455 "punctuated": { 5456 "element": { 5457 "syn": "WherePredicate" 5458 }, 5459 "punct": "Comma" 5460 } 5461 } 5462 } 5463 }, 5464 { 5465 "ident": "WherePredicate", 5466 "features": { 5467 "any": [ 5468 "derive", 5469 "full" 5470 ] 5471 }, 5472 "variants": { 5473 "Type": [ 5474 { 5475 "syn": "PredicateType" 5476 } 5477 ], 5478 "Lifetime": [ 5479 { 5480 "syn": "PredicateLifetime" 5481 } 5482 ], 5483 "Eq": [ 5484 { 5485 "syn": "PredicateEq" 5486 } 5487 ] 5488 } 5489 } 5490 ], 5491 "tokens": { 5492 "Abstract": "abstract", 5493 "Add": "+", 5494 "AddEq": "+=", 5495 "And": "&", 5496 "AndAnd": "&&", 5497 "AndEq": "&=", 5498 "As": "as", 5499 "Async": "async", 5500 "At": "@", 5501 "Auto": "auto", 5502 "Await": "await", 5503 "Bang": "!", 5504 "Become": "become", 5505 "Box": "box", 5506 "Break": "break", 5507 "Caret": "^", 5508 "CaretEq": "^=", 5509 "Colon": ":", 5510 "Colon2": "::", 5511 "Comma": ",", 5512 "Const": "const", 5513 "Continue": "continue", 5514 "Crate": "crate", 5515 "Default": "default", 5516 "Div": "/", 5517 "DivEq": "/=", 5518 "Do": "do", 5519 "Dollar": "$", 5520 "Dot": ".", 5521 "Dot2": "..", 5522 "Dot3": "...", 5523 "DotDotEq": "..=", 5524 "Dyn": "dyn", 5525 "Else": "else", 5526 "Enum": "enum", 5527 "Eq": "=", 5528 "EqEq": "==", 5529 "Extern": "extern", 5530 "FatArrow": "=>", 5531 "Final": "final", 5532 "Fn": "fn", 5533 "For": "for", 5534 "Ge": ">=", 5535 "Gt": ">", 5536 "If": "if", 5537 "Impl": "impl", 5538 "In": "in", 5539 "LArrow": "<-", 5540 "Le": "<=", 5541 "Let": "let", 5542 "Loop": "loop", 5543 "Lt": "<", 5544 "Macro": "macro", 5545 "Match": "match", 5546 "Mod": "mod", 5547 "Move": "move", 5548 "MulEq": "*=", 5549 "Mut": "mut", 5550 "Ne": "!=", 5551 "Or": "|", 5552 "OrEq": "|=", 5553 "OrOr": "||", 5554 "Override": "override", 5555 "Pound": "#", 5556 "Priv": "priv", 5557 "Pub": "pub", 5558 "Question": "?", 5559 "RArrow": "->", 5560 "Ref": "ref", 5561 "Rem": "%", 5562 "RemEq": "%=", 5563 "Return": "return", 5564 "SelfType": "Self", 5565 "SelfValue": "self", 5566 "Semi": ";", 5567 "Shl": "<<", 5568 "ShlEq": "<<=", 5569 "Shr": ">>", 5570 "ShrEq": ">>=", 5571 "Star": "*", 5572 "Static": "static", 5573 "Struct": "struct", 5574 "Sub": "-", 5575 "SubEq": "-=", 5576 "Super": "super", 5577 "Tilde": "~", 5578 "Trait": "trait", 5579 "Try": "try", 5580 "Type": "type", 5581 "Typeof": "typeof", 5582 "Underscore": "_", 5583 "Union": "union", 5584 "Unsafe": "unsafe", 5585 "Unsized": "unsized", 5586 "Use": "use", 5587 "Virtual": "virtual", 5588 "Where": "where", 5589 "While": "while", 5590 "Yield": "yield" 5591 } 5592} 5593