rust/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
2020-04-10 17:07:09 +02:00

974 lines
34 KiB
Plaintext

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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[79; 81) "::"
NAME_REF@[81; 86)
IDENT@[81; 86) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[159; 161) "::"
NAME_REF@[161; 166)
IDENT@[161; 166) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[268; 270) "::"
NAME_REF@[270; 275)
IDENT@[270; 275) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[333; 335) "::"
NAME_REF@[335; 340)
IDENT@[335; 340) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[461; 463) "::"
NAME_REF@[463; 468)
IDENT@[463; 468) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[683; 685) "::"
NAME_REF@[685; 690)
IDENT@[685; 690) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[856; 858) "::"
NAME_REF@[858; 863)
IDENT@[858; 863) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[984; 986) "::"
NAME_REF@[986; 991)
IDENT@[986; 991) "c_int"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[1163; 1165) "::"
NAME_REF@[1165; 1172)
IDENT@[1165; 1172) "ssize_t"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[1279; 1281) "::"
NAME_REF@[1281; 1288)
IDENT@[1281; 1288) "ssize_t"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[1471; 1473) "::"
NAME_REF@[1473; 1480)
IDENT@[1473; 1480) "ssize_t"
SEMICOLON@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[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)
COLON2@[1585; 1587) "::"
NAME_REF@[1587; 1594)
IDENT@[1587; 1594) "ssize_t"
SEMICOLON@[1594; 1595) ";"
WHITESPACE@[1595; 1596) "\n"
R_CURLY@[1596; 1597) "}"
WHITESPACE@[1597; 1598) "\n"