From da091b130347c4d6d8c75acb8e65c30a17dc1f5e Mon Sep 17 00:00:00 2001 From: veetaha Date: Mon, 6 Apr 2020 14:04:26 +0300 Subject: Migrate tests .txt -> .rast The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files. --- .../ra_syntax/test_data/parser/ok/0031_extern.rast | 973 +++++++++++++++++++++ 1 file changed, 973 insertions(+) create mode 100644 crates/ra_syntax/test_data/parser/ok/0031_extern.rast (limited to 'crates/ra_syntax/test_data/parser/ok/0031_extern.rast') diff --git a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast new file mode 100644 index 000000000..badbf76c5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast @@ -0,0 +1,973 @@ +SOURCE_FILE@[0; 1598) + EXTERN_BLOCK@[0; 1597) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + EXTERN_ITEM_LIST@[7; 1597) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 87) + VISIBILITY@[13; 16) + PUB_KW@[13; 16) "pub" + WHITESPACE@[16; 17) " " + FN_KW@[17; 19) "fn" + WHITESPACE@[19; 20) " " + NAME@[20; 26) + IDENT@[20; 26) "socket" + PARAM_LIST@[26; 75) + L_PAREN@[26; 27) "(" + PARAM@[27; 42) + BIND_PAT@[27; 33) + NAME@[27; 33) + IDENT@[27; 33) "domain" + COLON@[33; 34) ":" + WHITESPACE@[34; 35) " " + PATH_TYPE@[35; 42) + PATH@[35; 42) + PATH_SEGMENT@[35; 42) + COLONCOLON@[35; 37) "::" + NAME_REF@[37; 42) + IDENT@[37; 42) "c_int" + COMMA@[42; 43) "," + WHITESPACE@[43; 44) " " + PARAM@[44; 55) + BIND_PAT@[44; 46) + NAME@[44; 46) + IDENT@[44; 46) "ty" + COLON@[46; 47) ":" + WHITESPACE@[47; 48) " " + PATH_TYPE@[48; 55) + PATH@[48; 55) + PATH_SEGMENT@[48; 55) + COLONCOLON@[48; 50) "::" + NAME_REF@[50; 55) + IDENT@[50; 55) "c_int" + COMMA@[55; 56) "," + WHITESPACE@[56; 57) " " + PARAM@[57; 74) + BIND_PAT@[57; 65) + NAME@[57; 65) + IDENT@[57; 65) "protocol" + COLON@[65; 66) ":" + WHITESPACE@[66; 67) " " + PATH_TYPE@[67; 74) + PATH@[67; 74) + PATH_SEGMENT@[67; 74) + COLONCOLON@[67; 69) "::" + NAME_REF@[69; 74) + IDENT@[69; 74) "c_int" + R_PAREN@[74; 75) ")" + WHITESPACE@[75; 76) " " + RET_TYPE@[76; 86) + THIN_ARROW@[76; 78) "->" + WHITESPACE@[78; 79) " " + PATH_TYPE@[79; 86) + PATH@[79; 86) + PATH_SEGMENT@[79; 86) + COLONCOLON@[79; 81) "::" + NAME_REF@[81; 86) + IDENT@[81; 86) "c_int" + SEMI@[86; 87) ";" + WHITESPACE@[87; 92) "\n " + FN_DEF@[92; 167) + VISIBILITY@[92; 95) + PUB_KW@[92; 95) "pub" + WHITESPACE@[95; 96) " " + FN_KW@[96; 98) "fn" + WHITESPACE@[98; 99) " " + NAME@[99; 103) + IDENT@[99; 103) "bind" + PARAM_LIST@[103; 155) + L_PAREN@[103; 104) "(" + PARAM@[104; 115) + BIND_PAT@[104; 106) + NAME@[104; 106) + IDENT@[104; 106) "fd" + COLON@[106; 107) ":" + WHITESPACE@[107; 108) " " + PATH_TYPE@[108; 115) + PATH@[108; 115) + PATH_SEGMENT@[108; 115) + COLONCOLON@[108; 110) "::" + NAME_REF@[110; 115) + IDENT@[110; 115) "c_int" + COMMA@[115; 116) "," + WHITESPACE@[116; 117) " " + PARAM@[117; 138) + BIND_PAT@[117; 121) + NAME@[117; 121) + IDENT@[117; 121) "addr" + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " + POINTER_TYPE@[123; 138) + STAR@[123; 124) "*" + CONST_KW@[124; 129) "const" + WHITESPACE@[129; 130) " " + PATH_TYPE@[130; 138) + PATH@[130; 138) + PATH_SEGMENT@[130; 138) + NAME_REF@[130; 138) + IDENT@[130; 138) "sockaddr" + COMMA@[138; 139) "," + WHITESPACE@[139; 140) " " + PARAM@[140; 154) + BIND_PAT@[140; 143) + NAME@[140; 143) + IDENT@[140; 143) "len" + COLON@[143; 144) ":" + WHITESPACE@[144; 145) " " + PATH_TYPE@[145; 154) + PATH@[145; 154) + PATH_SEGMENT@[145; 154) + NAME_REF@[145; 154) + IDENT@[145; 154) "socklen_t" + R_PAREN@[154; 155) ")" + WHITESPACE@[155; 156) " " + RET_TYPE@[156; 166) + THIN_ARROW@[156; 158) "->" + WHITESPACE@[158; 159) " " + PATH_TYPE@[159; 166) + PATH@[159; 166) + PATH_SEGMENT@[159; 166) + COLONCOLON@[159; 161) "::" + NAME_REF@[161; 166) + IDENT@[161; 166) "c_int" + SEMI@[166; 167) ";" + WHITESPACE@[167; 172) "\n " + FN_DEF@[172; 276) + VISIBILITY@[172; 175) + PUB_KW@[172; 175) "pub" + WHITESPACE@[175; 176) " " + FN_KW@[176; 178) "fn" + WHITESPACE@[178; 179) " " + NAME@[179; 186) + IDENT@[179; 186) "connect" + PARAM_LIST@[186; 264) + L_PAREN@[186; 187) "(" + PARAM@[187; 202) + BIND_PAT@[187; 193) + NAME@[187; 193) + IDENT@[187; 193) "socket" + COLON@[193; 194) ":" + WHITESPACE@[194; 195) " " + PATH_TYPE@[195; 202) + PATH@[195; 202) + PATH_SEGMENT@[195; 202) + COLONCOLON@[195; 197) "::" + NAME_REF@[197; 202) + IDENT@[197; 202) "c_int" + COMMA@[202; 203) "," + WHITESPACE@[203; 204) " " + PARAM@[204; 228) + BIND_PAT@[204; 211) + NAME@[204; 211) + IDENT@[204; 211) "address" + COLON@[211; 212) ":" + WHITESPACE@[212; 213) " " + POINTER_TYPE@[213; 228) + STAR@[213; 214) "*" + CONST_KW@[214; 219) "const" + WHITESPACE@[219; 220) " " + PATH_TYPE@[220; 228) + PATH@[220; 228) + PATH_SEGMENT@[220; 228) + NAME_REF@[220; 228) + IDENT@[220; 228) "sockaddr" + COMMA@[228; 229) "," + WHITESPACE@[229; 249) "\n " + PARAM@[249; 263) + BIND_PAT@[249; 252) + NAME@[249; 252) + IDENT@[249; 252) "len" + COLON@[252; 253) ":" + WHITESPACE@[253; 254) " " + PATH_TYPE@[254; 263) + PATH@[254; 263) + PATH_SEGMENT@[254; 263) + NAME_REF@[254; 263) + IDENT@[254; 263) "socklen_t" + R_PAREN@[263; 264) ")" + WHITESPACE@[264; 265) " " + RET_TYPE@[265; 275) + THIN_ARROW@[265; 267) "->" + WHITESPACE@[267; 268) " " + PATH_TYPE@[268; 275) + PATH@[268; 275) + PATH_SEGMENT@[268; 275) + COLONCOLON@[268; 270) "::" + NAME_REF@[270; 275) + IDENT@[270; 275) "c_int" + SEMI@[275; 276) ";" + WHITESPACE@[276; 281) "\n " + FN_DEF@[281; 341) + VISIBILITY@[281; 284) + PUB_KW@[281; 284) "pub" + WHITESPACE@[284; 285) " " + FN_KW@[285; 287) "fn" + WHITESPACE@[287; 288) " " + NAME@[288; 294) + IDENT@[288; 294) "listen" + PARAM_LIST@[294; 329) + L_PAREN@[294; 295) "(" + PARAM@[295; 310) + BIND_PAT@[295; 301) + NAME@[295; 301) + IDENT@[295; 301) "socket" + COLON@[301; 302) ":" + WHITESPACE@[302; 303) " " + PATH_TYPE@[303; 310) + PATH@[303; 310) + PATH_SEGMENT@[303; 310) + COLONCOLON@[303; 305) "::" + NAME_REF@[305; 310) + IDENT@[305; 310) "c_int" + COMMA@[310; 311) "," + WHITESPACE@[311; 312) " " + PARAM@[312; 328) + BIND_PAT@[312; 319) + NAME@[312; 319) + IDENT@[312; 319) "backlog" + COLON@[319; 320) ":" + WHITESPACE@[320; 321) " " + PATH_TYPE@[321; 328) + PATH@[321; 328) + PATH_SEGMENT@[321; 328) + COLONCOLON@[321; 323) "::" + NAME_REF@[323; 328) + IDENT@[323; 328) "c_int" + R_PAREN@[328; 329) ")" + WHITESPACE@[329; 330) " " + RET_TYPE@[330; 340) + THIN_ARROW@[330; 332) "->" + WHITESPACE@[332; 333) " " + PATH_TYPE@[333; 340) + PATH@[333; 340) + PATH_SEGMENT@[333; 340) + COLONCOLON@[333; 335) "::" + NAME_REF@[335; 340) + IDENT@[335; 340) "c_int" + SEMI@[340; 341) ";" + WHITESPACE@[341; 346) "\n " + FN_DEF@[346; 469) + VISIBILITY@[346; 349) + PUB_KW@[346; 349) "pub" + WHITESPACE@[349; 350) " " + FN_KW@[350; 352) "fn" + WHITESPACE@[352; 353) " " + NAME@[353; 364) + IDENT@[353; 364) "getsockname" + PARAM_LIST@[364; 457) + L_PAREN@[364; 365) "(" + PARAM@[365; 380) + BIND_PAT@[365; 371) + NAME@[365; 371) + IDENT@[365; 371) "socket" + COLON@[371; 372) ":" + WHITESPACE@[372; 373) " " + PATH_TYPE@[373; 380) + PATH@[373; 380) + PATH_SEGMENT@[373; 380) + COLONCOLON@[373; 375) "::" + NAME_REF@[375; 380) + IDENT@[375; 380) "c_int" + COMMA@[380; 381) "," + WHITESPACE@[381; 382) " " + PARAM@[382; 404) + BIND_PAT@[382; 389) + NAME@[382; 389) + IDENT@[382; 389) "address" + COLON@[389; 390) ":" + WHITESPACE@[390; 391) " " + POINTER_TYPE@[391; 404) + STAR@[391; 392) "*" + MUT_KW@[392; 395) "mut" + WHITESPACE@[395; 396) " " + PATH_TYPE@[396; 404) + PATH@[396; 404) + PATH_SEGMENT@[396; 404) + NAME_REF@[396; 404) + IDENT@[396; 404) "sockaddr" + COMMA@[404; 405) "," + WHITESPACE@[405; 429) "\n " + PARAM@[429; 456) + BIND_PAT@[429; 440) + NAME@[429; 440) + IDENT@[429; 440) "address_len" + COLON@[440; 441) ":" + WHITESPACE@[441; 442) " " + POINTER_TYPE@[442; 456) + STAR@[442; 443) "*" + MUT_KW@[443; 446) "mut" + WHITESPACE@[446; 447) " " + PATH_TYPE@[447; 456) + PATH@[447; 456) + PATH_SEGMENT@[447; 456) + NAME_REF@[447; 456) + IDENT@[447; 456) "socklen_t" + R_PAREN@[456; 457) ")" + WHITESPACE@[457; 458) " " + RET_TYPE@[458; 468) + THIN_ARROW@[458; 460) "->" + WHITESPACE@[460; 461) " " + PATH_TYPE@[461; 468) + PATH@[461; 468) + PATH_SEGMENT@[461; 468) + COLONCOLON@[461; 463) "::" + NAME_REF@[463; 468) + IDENT@[463; 468) "c_int" + SEMI@[468; 469) ";" + WHITESPACE@[469; 474) "\n " + FN_DEF@[474; 691) + VISIBILITY@[474; 477) + PUB_KW@[474; 477) "pub" + WHITESPACE@[477; 478) " " + FN_KW@[478; 480) "fn" + WHITESPACE@[480; 481) " " + NAME@[481; 491) + IDENT@[481; 491) "getsockopt" + PARAM_LIST@[491; 679) + L_PAREN@[491; 492) "(" + PARAM@[492; 507) + BIND_PAT@[492; 498) + NAME@[492; 498) + IDENT@[492; 498) "sockfd" + COLON@[498; 499) ":" + WHITESPACE@[499; 500) " " + PATH_TYPE@[500; 507) + PATH@[500; 507) + PATH_SEGMENT@[500; 507) + COLONCOLON@[500; 502) "::" + NAME_REF@[502; 507) + IDENT@[502; 507) "c_int" + COMMA@[507; 508) "," + WHITESPACE@[508; 531) "\n " + PARAM@[531; 545) + BIND_PAT@[531; 536) + NAME@[531; 536) + IDENT@[531; 536) "level" + COLON@[536; 537) ":" + WHITESPACE@[537; 538) " " + PATH_TYPE@[538; 545) + PATH@[538; 545) + PATH_SEGMENT@[538; 545) + COLONCOLON@[538; 540) "::" + NAME_REF@[540; 545) + IDENT@[540; 545) "c_int" + COMMA@[545; 546) "," + WHITESPACE@[546; 569) "\n " + PARAM@[569; 585) + BIND_PAT@[569; 576) + NAME@[569; 576) + IDENT@[569; 576) "optname" + COLON@[576; 577) ":" + WHITESPACE@[577; 578) " " + PATH_TYPE@[578; 585) + PATH@[578; 585) + PATH_SEGMENT@[578; 585) + COLONCOLON@[578; 580) "::" + NAME_REF@[580; 585) + IDENT@[580; 585) "c_int" + COMMA@[585; 586) "," + WHITESPACE@[586; 609) "\n " + PARAM@[609; 630) + BIND_PAT@[609; 615) + NAME@[609; 615) + IDENT@[609; 615) "optval" + COLON@[615; 616) ":" + WHITESPACE@[616; 617) " " + POINTER_TYPE@[617; 630) + STAR@[617; 618) "*" + MUT_KW@[618; 621) "mut" + WHITESPACE@[621; 622) " " + PATH_TYPE@[622; 630) + PATH@[622; 630) + PATH_SEGMENT@[622; 630) + COLONCOLON@[622; 624) "::" + NAME_REF@[624; 630) + IDENT@[624; 630) "c_void" + COMMA@[630; 631) "," + WHITESPACE@[631; 654) "\n " + PARAM@[654; 678) + BIND_PAT@[654; 660) + NAME@[654; 660) + IDENT@[654; 660) "optlen" + COLON@[660; 661) ":" + WHITESPACE@[661; 662) " " + POINTER_TYPE@[662; 678) + STAR@[662; 663) "*" + MUT_KW@[663; 666) "mut" + WHITESPACE@[666; 667) " " + PATH_TYPE@[667; 678) + PATH@[667; 678) + PATH_SEGMENT@[667; 678) + COLONCOLON@[667; 669) "::" + NAME_REF@[669; 678) + IDENT@[669; 678) "socklen_t" + R_PAREN@[678; 679) ")" + WHITESPACE@[679; 680) " " + RET_TYPE@[680; 690) + THIN_ARROW@[680; 682) "->" + WHITESPACE@[682; 683) " " + PATH_TYPE@[683; 690) + PATH@[683; 690) + PATH_SEGMENT@[683; 690) + COLONCOLON@[683; 685) "::" + NAME_REF@[685; 690) + IDENT@[685; 690) "c_int" + SEMI@[690; 691) ";" + WHITESPACE@[691; 696) "\n " + FN_DEF@[696; 864) + VISIBILITY@[696; 699) + PUB_KW@[696; 699) "pub" + WHITESPACE@[699; 700) " " + FN_KW@[700; 702) "fn" + WHITESPACE@[702; 703) " " + NAME@[703; 713) + IDENT@[703; 713) "setsockopt" + PARAM_LIST@[713; 852) + L_PAREN@[713; 714) "(" + PARAM@[714; 729) + BIND_PAT@[714; 720) + NAME@[714; 720) + IDENT@[714; 720) "socket" + COLON@[720; 721) ":" + WHITESPACE@[721; 722) " " + PATH_TYPE@[722; 729) + PATH@[722; 729) + PATH_SEGMENT@[722; 729) + COLONCOLON@[722; 724) "::" + NAME_REF@[724; 729) + IDENT@[724; 729) "c_int" + COMMA@[729; 730) "," + WHITESPACE@[730; 731) " " + PARAM@[731; 745) + BIND_PAT@[731; 736) + NAME@[731; 736) + IDENT@[731; 736) "level" + COLON@[736; 737) ":" + WHITESPACE@[737; 738) " " + PATH_TYPE@[738; 745) + PATH@[738; 745) + PATH_SEGMENT@[738; 745) + COLONCOLON@[738; 740) "::" + NAME_REF@[740; 745) + IDENT@[740; 745) "c_int" + COMMA@[745; 746) "," + WHITESPACE@[746; 747) " " + PARAM@[747; 760) + BIND_PAT@[747; 751) + NAME@[747; 751) + IDENT@[747; 751) "name" + COLON@[751; 752) ":" + WHITESPACE@[752; 753) " " + PATH_TYPE@[753; 760) + PATH@[753; 760) + PATH_SEGMENT@[753; 760) + COLONCOLON@[753; 755) "::" + NAME_REF@[755; 760) + IDENT@[755; 760) "c_int" + COMMA@[760; 761) "," + WHITESPACE@[761; 784) "\n " + PARAM@[784; 806) + BIND_PAT@[784; 789) + NAME@[784; 789) + IDENT@[784; 789) "value" + COLON@[789; 790) ":" + WHITESPACE@[790; 791) " " + POINTER_TYPE@[791; 806) + STAR@[791; 792) "*" + CONST_KW@[792; 797) "const" + WHITESPACE@[797; 798) " " + PATH_TYPE@[798; 806) + PATH@[798; 806) + PATH_SEGMENT@[798; 806) + COLONCOLON@[798; 800) "::" + NAME_REF@[800; 806) + IDENT@[800; 806) "c_void" + COMMA@[806; 807) "," + WHITESPACE@[807; 830) "\n " + PARAM@[830; 851) + BIND_PAT@[830; 840) + NAME@[830; 840) + IDENT@[830; 840) "option_len" + COLON@[840; 841) ":" + WHITESPACE@[841; 842) " " + PATH_TYPE@[842; 851) + PATH@[842; 851) + PATH_SEGMENT@[842; 851) + NAME_REF@[842; 851) + IDENT@[842; 851) "socklen_t" + R_PAREN@[851; 852) ")" + WHITESPACE@[852; 853) " " + RET_TYPE@[853; 863) + THIN_ARROW@[853; 855) "->" + WHITESPACE@[855; 856) " " + PATH_TYPE@[856; 863) + PATH@[856; 863) + PATH_SEGMENT@[856; 863) + COLONCOLON@[856; 858) "::" + NAME_REF@[858; 863) + IDENT@[858; 863) "c_int" + SEMI@[863; 864) ";" + WHITESPACE@[864; 869) "\n " + FN_DEF@[869; 992) + VISIBILITY@[869; 872) + PUB_KW@[869; 872) "pub" + WHITESPACE@[872; 873) " " + FN_KW@[873; 875) "fn" + WHITESPACE@[875; 876) " " + NAME@[876; 887) + IDENT@[876; 887) "getpeername" + PARAM_LIST@[887; 980) + L_PAREN@[887; 888) "(" + PARAM@[888; 903) + BIND_PAT@[888; 894) + NAME@[888; 894) + IDENT@[888; 894) "socket" + COLON@[894; 895) ":" + WHITESPACE@[895; 896) " " + PATH_TYPE@[896; 903) + PATH@[896; 903) + PATH_SEGMENT@[896; 903) + COLONCOLON@[896; 898) "::" + NAME_REF@[898; 903) + IDENT@[898; 903) "c_int" + COMMA@[903; 904) "," + WHITESPACE@[904; 905) " " + PARAM@[905; 927) + BIND_PAT@[905; 912) + NAME@[905; 912) + IDENT@[905; 912) "address" + COLON@[912; 913) ":" + WHITESPACE@[913; 914) " " + POINTER_TYPE@[914; 927) + STAR@[914; 915) "*" + MUT_KW@[915; 918) "mut" + WHITESPACE@[918; 919) " " + PATH_TYPE@[919; 927) + PATH@[919; 927) + PATH_SEGMENT@[919; 927) + NAME_REF@[919; 927) + IDENT@[919; 927) "sockaddr" + COMMA@[927; 928) "," + WHITESPACE@[928; 952) "\n " + PARAM@[952; 979) + BIND_PAT@[952; 963) + NAME@[952; 963) + IDENT@[952; 963) "address_len" + COLON@[963; 964) ":" + WHITESPACE@[964; 965) " " + POINTER_TYPE@[965; 979) + STAR@[965; 966) "*" + MUT_KW@[966; 969) "mut" + WHITESPACE@[969; 970) " " + PATH_TYPE@[970; 979) + PATH@[970; 979) + PATH_SEGMENT@[970; 979) + NAME_REF@[970; 979) + IDENT@[970; 979) "socklen_t" + R_PAREN@[979; 980) ")" + WHITESPACE@[980; 981) " " + RET_TYPE@[981; 991) + THIN_ARROW@[981; 983) "->" + WHITESPACE@[983; 984) " " + PATH_TYPE@[984; 991) + PATH@[984; 991) + PATH_SEGMENT@[984; 991) + COLONCOLON@[984; 986) "::" + NAME_REF@[986; 991) + IDENT@[986; 991) "c_int" + SEMI@[991; 992) ";" + WHITESPACE@[992; 997) "\n " + FN_DEF@[997; 1173) + VISIBILITY@[997; 1000) + PUB_KW@[997; 1000) "pub" + WHITESPACE@[1000; 1001) " " + FN_KW@[1001; 1003) "fn" + WHITESPACE@[1003; 1004) " " + NAME@[1004; 1010) + IDENT@[1004; 1010) "sendto" + PARAM_LIST@[1010; 1159) + L_PAREN@[1010; 1011) "(" + PARAM@[1011; 1026) + BIND_PAT@[1011; 1017) + NAME@[1011; 1017) + IDENT@[1011; 1017) "socket" + COLON@[1017; 1018) ":" + WHITESPACE@[1018; 1019) " " + PATH_TYPE@[1019; 1026) + PATH@[1019; 1026) + PATH_SEGMENT@[1019; 1026) + COLONCOLON@[1019; 1021) "::" + NAME_REF@[1021; 1026) + IDENT@[1021; 1026) "c_int" + COMMA@[1026; 1027) "," + WHITESPACE@[1027; 1028) " " + PARAM@[1028; 1048) + BIND_PAT@[1028; 1031) + NAME@[1028; 1031) + IDENT@[1028; 1031) "buf" + COLON@[1031; 1032) ":" + WHITESPACE@[1032; 1033) " " + POINTER_TYPE@[1033; 1048) + STAR@[1033; 1034) "*" + CONST_KW@[1034; 1039) "const" + WHITESPACE@[1039; 1040) " " + PATH_TYPE@[1040; 1048) + PATH@[1040; 1048) + PATH_SEGMENT@[1040; 1048) + COLONCOLON@[1040; 1042) "::" + NAME_REF@[1042; 1048) + IDENT@[1042; 1048) "c_void" + COMMA@[1048; 1049) "," + WHITESPACE@[1049; 1050) " " + PARAM@[1050; 1063) + BIND_PAT@[1050; 1053) + NAME@[1050; 1053) + IDENT@[1050; 1053) "len" + COLON@[1053; 1054) ":" + WHITESPACE@[1054; 1055) " " + PATH_TYPE@[1055; 1063) + PATH@[1055; 1063) + PATH_SEGMENT@[1055; 1063) + COLONCOLON@[1055; 1057) "::" + NAME_REF@[1057; 1063) + IDENT@[1057; 1063) "size_t" + COMMA@[1063; 1064) "," + WHITESPACE@[1064; 1083) "\n " + PARAM@[1083; 1097) + BIND_PAT@[1083; 1088) + NAME@[1083; 1088) + IDENT@[1083; 1088) "flags" + COLON@[1088; 1089) ":" + WHITESPACE@[1089; 1090) " " + PATH_TYPE@[1090; 1097) + PATH@[1090; 1097) + PATH_SEGMENT@[1090; 1097) + COLONCOLON@[1090; 1092) "::" + NAME_REF@[1092; 1097) + IDENT@[1092; 1097) "c_int" + COMMA@[1097; 1098) "," + WHITESPACE@[1098; 1099) " " + PARAM@[1099; 1120) + BIND_PAT@[1099; 1103) + NAME@[1099; 1103) + IDENT@[1099; 1103) "addr" + COLON@[1103; 1104) ":" + WHITESPACE@[1104; 1105) " " + POINTER_TYPE@[1105; 1120) + STAR@[1105; 1106) "*" + CONST_KW@[1106; 1111) "const" + WHITESPACE@[1111; 1112) " " + PATH_TYPE@[1112; 1120) + PATH@[1112; 1120) + PATH_SEGMENT@[1112; 1120) + NAME_REF@[1112; 1120) + IDENT@[1112; 1120) "sockaddr" + COMMA@[1120; 1121) "," + WHITESPACE@[1121; 1140) "\n " + PARAM@[1140; 1158) + BIND_PAT@[1140; 1147) + NAME@[1140; 1147) + IDENT@[1140; 1147) "addrlen" + COLON@[1147; 1148) ":" + WHITESPACE@[1148; 1149) " " + PATH_TYPE@[1149; 1158) + PATH@[1149; 1158) + PATH_SEGMENT@[1149; 1158) + NAME_REF@[1149; 1158) + IDENT@[1149; 1158) "socklen_t" + R_PAREN@[1158; 1159) ")" + WHITESPACE@[1159; 1160) " " + RET_TYPE@[1160; 1172) + THIN_ARROW@[1160; 1162) "->" + WHITESPACE@[1162; 1163) " " + PATH_TYPE@[1163; 1172) + PATH@[1163; 1172) + PATH_SEGMENT@[1163; 1172) + COLONCOLON@[1163; 1165) "::" + NAME_REF@[1165; 1172) + IDENT@[1165; 1172) "ssize_t" + SEMI@[1172; 1173) ";" + WHITESPACE@[1173; 1178) "\n " + FN_DEF@[1178; 1289) + VISIBILITY@[1178; 1181) + PUB_KW@[1178; 1181) "pub" + WHITESPACE@[1181; 1182) " " + FN_KW@[1182; 1184) "fn" + WHITESPACE@[1184; 1185) " " + NAME@[1185; 1189) + IDENT@[1185; 1189) "send" + PARAM_LIST@[1189; 1275) + L_PAREN@[1189; 1190) "(" + PARAM@[1190; 1205) + BIND_PAT@[1190; 1196) + NAME@[1190; 1196) + IDENT@[1190; 1196) "socket" + COLON@[1196; 1197) ":" + WHITESPACE@[1197; 1198) " " + PATH_TYPE@[1198; 1205) + PATH@[1198; 1205) + PATH_SEGMENT@[1198; 1205) + COLONCOLON@[1198; 1200) "::" + NAME_REF@[1200; 1205) + IDENT@[1200; 1205) "c_int" + COMMA@[1205; 1206) "," + WHITESPACE@[1206; 1207) " " + PARAM@[1207; 1227) + BIND_PAT@[1207; 1210) + NAME@[1207; 1210) + IDENT@[1207; 1210) "buf" + COLON@[1210; 1211) ":" + WHITESPACE@[1211; 1212) " " + POINTER_TYPE@[1212; 1227) + STAR@[1212; 1213) "*" + CONST_KW@[1213; 1218) "const" + WHITESPACE@[1218; 1219) " " + PATH_TYPE@[1219; 1227) + PATH@[1219; 1227) + PATH_SEGMENT@[1219; 1227) + COLONCOLON@[1219; 1221) "::" + NAME_REF@[1221; 1227) + IDENT@[1221; 1227) "c_void" + COMMA@[1227; 1228) "," + WHITESPACE@[1228; 1229) " " + PARAM@[1229; 1242) + BIND_PAT@[1229; 1232) + NAME@[1229; 1232) + IDENT@[1229; 1232) "len" + COLON@[1232; 1233) ":" + WHITESPACE@[1233; 1234) " " + PATH_TYPE@[1234; 1242) + PATH@[1234; 1242) + PATH_SEGMENT@[1234; 1242) + COLONCOLON@[1234; 1236) "::" + NAME_REF@[1236; 1242) + IDENT@[1236; 1242) "size_t" + COMMA@[1242; 1243) "," + WHITESPACE@[1243; 1260) "\n " + PARAM@[1260; 1274) + BIND_PAT@[1260; 1265) + NAME@[1260; 1265) + IDENT@[1260; 1265) "flags" + COLON@[1265; 1266) ":" + WHITESPACE@[1266; 1267) " " + PATH_TYPE@[1267; 1274) + PATH@[1267; 1274) + PATH_SEGMENT@[1267; 1274) + COLONCOLON@[1267; 1269) "::" + NAME_REF@[1269; 1274) + IDENT@[1269; 1274) "c_int" + R_PAREN@[1274; 1275) ")" + WHITESPACE@[1275; 1276) " " + RET_TYPE@[1276; 1288) + THIN_ARROW@[1276; 1278) "->" + WHITESPACE@[1278; 1279) " " + PATH_TYPE@[1279; 1288) + PATH@[1279; 1288) + PATH_SEGMENT@[1279; 1288) + COLONCOLON@[1279; 1281) "::" + NAME_REF@[1281; 1288) + IDENT@[1281; 1288) "ssize_t" + SEMI@[1288; 1289) ";" + WHITESPACE@[1289; 1294) "\n " + FN_DEF@[1294; 1481) + VISIBILITY@[1294; 1297) + PUB_KW@[1294; 1297) "pub" + WHITESPACE@[1297; 1298) " " + FN_KW@[1298; 1300) "fn" + WHITESPACE@[1300; 1301) " " + NAME@[1301; 1309) + IDENT@[1301; 1309) "recvfrom" + PARAM_LIST@[1309; 1467) + L_PAREN@[1309; 1310) "(" + PARAM@[1310; 1325) + BIND_PAT@[1310; 1316) + NAME@[1310; 1316) + IDENT@[1310; 1316) "socket" + COLON@[1316; 1317) ":" + WHITESPACE@[1317; 1318) " " + PATH_TYPE@[1318; 1325) + PATH@[1318; 1325) + PATH_SEGMENT@[1318; 1325) + COLONCOLON@[1318; 1320) "::" + NAME_REF@[1320; 1325) + IDENT@[1320; 1325) "c_int" + COMMA@[1325; 1326) "," + WHITESPACE@[1326; 1327) " " + PARAM@[1327; 1345) + BIND_PAT@[1327; 1330) + NAME@[1327; 1330) + IDENT@[1327; 1330) "buf" + COLON@[1330; 1331) ":" + WHITESPACE@[1331; 1332) " " + POINTER_TYPE@[1332; 1345) + STAR@[1332; 1333) "*" + MUT_KW@[1333; 1336) "mut" + WHITESPACE@[1336; 1337) " " + PATH_TYPE@[1337; 1345) + PATH@[1337; 1345) + PATH_SEGMENT@[1337; 1345) + COLONCOLON@[1337; 1339) "::" + NAME_REF@[1339; 1345) + IDENT@[1339; 1345) "c_void" + COMMA@[1345; 1346) "," + WHITESPACE@[1346; 1347) " " + PARAM@[1347; 1360) + BIND_PAT@[1347; 1350) + NAME@[1347; 1350) + IDENT@[1347; 1350) "len" + COLON@[1350; 1351) ":" + WHITESPACE@[1351; 1352) " " + PATH_TYPE@[1352; 1360) + PATH@[1352; 1360) + PATH_SEGMENT@[1352; 1360) + COLONCOLON@[1352; 1354) "::" + NAME_REF@[1354; 1360) + IDENT@[1354; 1360) "size_t" + COMMA@[1360; 1361) "," + WHITESPACE@[1361; 1382) "\n " + PARAM@[1382; 1396) + BIND_PAT@[1382; 1387) + NAME@[1382; 1387) + IDENT@[1382; 1387) "flags" + COLON@[1387; 1388) ":" + WHITESPACE@[1388; 1389) " " + PATH_TYPE@[1389; 1396) + PATH@[1389; 1396) + PATH_SEGMENT@[1389; 1396) + COLONCOLON@[1389; 1391) "::" + NAME_REF@[1391; 1396) + IDENT@[1391; 1396) "c_int" + COMMA@[1396; 1397) "," + WHITESPACE@[1397; 1398) " " + PARAM@[1398; 1419) + BIND_PAT@[1398; 1402) + NAME@[1398; 1402) + IDENT@[1398; 1402) "addr" + COLON@[1402; 1403) ":" + WHITESPACE@[1403; 1404) " " + POINTER_TYPE@[1404; 1419) + STAR@[1404; 1405) "*" + MUT_KW@[1405; 1408) "mut" + WHITESPACE@[1408; 1409) " " + PATH_TYPE@[1409; 1419) + PATH@[1409; 1419) + PATH_SEGMENT@[1409; 1419) + COLONCOLON@[1409; 1411) "::" + NAME_REF@[1411; 1419) + IDENT@[1411; 1419) "sockaddr" + COMMA@[1419; 1420) "," + WHITESPACE@[1420; 1441) "\n " + PARAM@[1441; 1466) + BIND_PAT@[1441; 1448) + NAME@[1441; 1448) + IDENT@[1441; 1448) "addrlen" + COLON@[1448; 1449) ":" + WHITESPACE@[1449; 1450) " " + POINTER_TYPE@[1450; 1466) + STAR@[1450; 1451) "*" + MUT_KW@[1451; 1454) "mut" + WHITESPACE@[1454; 1455) " " + PATH_TYPE@[1455; 1466) + PATH@[1455; 1466) + PATH_SEGMENT@[1455; 1466) + COLONCOLON@[1455; 1457) "::" + NAME_REF@[1457; 1466) + IDENT@[1457; 1466) "socklen_t" + R_PAREN@[1466; 1467) ")" + WHITESPACE@[1467; 1468) " " + RET_TYPE@[1468; 1480) + THIN_ARROW@[1468; 1470) "->" + WHITESPACE@[1470; 1471) " " + PATH_TYPE@[1471; 1480) + PATH@[1471; 1480) + PATH_SEGMENT@[1471; 1480) + COLONCOLON@[1471; 1473) "::" + NAME_REF@[1473; 1480) + IDENT@[1473; 1480) "ssize_t" + SEMI@[1480; 1481) ";" + WHITESPACE@[1481; 1486) "\n " + FN_DEF@[1486; 1595) + VISIBILITY@[1486; 1489) + PUB_KW@[1486; 1489) "pub" + WHITESPACE@[1489; 1490) " " + FN_KW@[1490; 1492) "fn" + WHITESPACE@[1492; 1493) " " + NAME@[1493; 1497) + IDENT@[1493; 1497) "recv" + PARAM_LIST@[1497; 1581) + L_PAREN@[1497; 1498) "(" + PARAM@[1498; 1513) + BIND_PAT@[1498; 1504) + NAME@[1498; 1504) + IDENT@[1498; 1504) "socket" + COLON@[1504; 1505) ":" + WHITESPACE@[1505; 1506) " " + PATH_TYPE@[1506; 1513) + PATH@[1506; 1513) + PATH_SEGMENT@[1506; 1513) + COLONCOLON@[1506; 1508) "::" + NAME_REF@[1508; 1513) + IDENT@[1508; 1513) "c_int" + COMMA@[1513; 1514) "," + WHITESPACE@[1514; 1515) " " + PARAM@[1515; 1533) + BIND_PAT@[1515; 1518) + NAME@[1515; 1518) + IDENT@[1515; 1518) "buf" + COLON@[1518; 1519) ":" + WHITESPACE@[1519; 1520) " " + POINTER_TYPE@[1520; 1533) + STAR@[1520; 1521) "*" + MUT_KW@[1521; 1524) "mut" + WHITESPACE@[1524; 1525) " " + PATH_TYPE@[1525; 1533) + PATH@[1525; 1533) + PATH_SEGMENT@[1525; 1533) + COLONCOLON@[1525; 1527) "::" + NAME_REF@[1527; 1533) + IDENT@[1527; 1533) "c_void" + COMMA@[1533; 1534) "," + WHITESPACE@[1534; 1535) " " + PARAM@[1535; 1548) + BIND_PAT@[1535; 1538) + NAME@[1535; 1538) + IDENT@[1535; 1538) "len" + COLON@[1538; 1539) ":" + WHITESPACE@[1539; 1540) " " + PATH_TYPE@[1540; 1548) + PATH@[1540; 1548) + PATH_SEGMENT@[1540; 1548) + COLONCOLON@[1540; 1542) "::" + NAME_REF@[1542; 1548) + IDENT@[1542; 1548) "size_t" + COMMA@[1548; 1549) "," + WHITESPACE@[1549; 1566) "\n " + PARAM@[1566; 1580) + BIND_PAT@[1566; 1571) + NAME@[1566; 1571) + IDENT@[1566; 1571) "flags" + COLON@[1571; 1572) ":" + WHITESPACE@[1572; 1573) " " + PATH_TYPE@[1573; 1580) + PATH@[1573; 1580) + PATH_SEGMENT@[1573; 1580) + COLONCOLON@[1573; 1575) "::" + NAME_REF@[1575; 1580) + IDENT@[1575; 1580) "c_int" + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " + RET_TYPE@[1582; 1594) + THIN_ARROW@[1582; 1584) "->" + WHITESPACE@[1584; 1585) " " + PATH_TYPE@[1585; 1594) + PATH@[1585; 1594) + PATH_SEGMENT@[1585; 1594) + COLONCOLON@[1585; 1587) "::" + NAME_REF@[1587; 1594) + IDENT@[1587; 1594) "ssize_t" + SEMI@[1594; 1595) ";" + WHITESPACE@[1595; 1596) "\n" + R_CURLY@[1596; 1597) "}" + WHITESPACE@[1597; 1598) "\n" -- cgit v1.2.3