]> git.lizzy.rs Git - rust.git/blob - crates/parser/test_data/parser/ok/0031_extern.txt
Merge #11481
[rust.git] / crates / parser / test_data / parser / ok / 0031_extern.txt
1 SOURCE_FILE
2   EXTERN_BLOCK
3     ABI
4       EXTERN_KW "extern"
5     WHITESPACE " "
6     EXTERN_ITEM_LIST
7       L_CURLY "{"
8       WHITESPACE "\n    "
9       FN
10         VISIBILITY
11           PUB_KW "pub"
12         WHITESPACE " "
13         FN_KW "fn"
14         WHITESPACE " "
15         NAME
16           IDENT "socket"
17         PARAM_LIST
18           L_PAREN "("
19           PARAM
20             IDENT_PAT
21               NAME
22                 IDENT "domain"
23             COLON ":"
24             WHITESPACE " "
25             PATH_TYPE
26               PATH
27                 PATH_SEGMENT
28                   COLON2 "::"
29                   NAME_REF
30                     IDENT "c_int"
31           COMMA ","
32           WHITESPACE " "
33           PARAM
34             IDENT_PAT
35               NAME
36                 IDENT "ty"
37             COLON ":"
38             WHITESPACE " "
39             PATH_TYPE
40               PATH
41                 PATH_SEGMENT
42                   COLON2 "::"
43                   NAME_REF
44                     IDENT "c_int"
45           COMMA ","
46           WHITESPACE " "
47           PARAM
48             IDENT_PAT
49               NAME
50                 IDENT "protocol"
51             COLON ":"
52             WHITESPACE " "
53             PATH_TYPE
54               PATH
55                 PATH_SEGMENT
56                   COLON2 "::"
57                   NAME_REF
58                     IDENT "c_int"
59           R_PAREN ")"
60         WHITESPACE " "
61         RET_TYPE
62           THIN_ARROW "->"
63           WHITESPACE " "
64           PATH_TYPE
65             PATH
66               PATH_SEGMENT
67                 COLON2 "::"
68                 NAME_REF
69                   IDENT "c_int"
70         SEMICOLON ";"
71       WHITESPACE "\n    "
72       FN
73         VISIBILITY
74           PUB_KW "pub"
75         WHITESPACE " "
76         FN_KW "fn"
77         WHITESPACE " "
78         NAME
79           IDENT "bind"
80         PARAM_LIST
81           L_PAREN "("
82           PARAM
83             IDENT_PAT
84               NAME
85                 IDENT "fd"
86             COLON ":"
87             WHITESPACE " "
88             PATH_TYPE
89               PATH
90                 PATH_SEGMENT
91                   COLON2 "::"
92                   NAME_REF
93                     IDENT "c_int"
94           COMMA ","
95           WHITESPACE " "
96           PARAM
97             IDENT_PAT
98               NAME
99                 IDENT "addr"
100             COLON ":"
101             WHITESPACE " "
102             PTR_TYPE
103               STAR "*"
104               CONST_KW "const"
105               WHITESPACE " "
106               PATH_TYPE
107                 PATH
108                   PATH_SEGMENT
109                     NAME_REF
110                       IDENT "sockaddr"
111           COMMA ","
112           WHITESPACE " "
113           PARAM
114             IDENT_PAT
115               NAME
116                 IDENT "len"
117             COLON ":"
118             WHITESPACE " "
119             PATH_TYPE
120               PATH
121                 PATH_SEGMENT
122                   NAME_REF
123                     IDENT "socklen_t"
124           R_PAREN ")"
125         WHITESPACE " "
126         RET_TYPE
127           THIN_ARROW "->"
128           WHITESPACE " "
129           PATH_TYPE
130             PATH
131               PATH_SEGMENT
132                 COLON2 "::"
133                 NAME_REF
134                   IDENT "c_int"
135         SEMICOLON ";"
136       WHITESPACE "\n    "
137       FN
138         VISIBILITY
139           PUB_KW "pub"
140         WHITESPACE " "
141         FN_KW "fn"
142         WHITESPACE " "
143         NAME
144           IDENT "connect"
145         PARAM_LIST
146           L_PAREN "("
147           PARAM
148             IDENT_PAT
149               NAME
150                 IDENT "socket"
151             COLON ":"
152             WHITESPACE " "
153             PATH_TYPE
154               PATH
155                 PATH_SEGMENT
156                   COLON2 "::"
157                   NAME_REF
158                     IDENT "c_int"
159           COMMA ","
160           WHITESPACE " "
161           PARAM
162             IDENT_PAT
163               NAME
164                 IDENT "address"
165             COLON ":"
166             WHITESPACE " "
167             PTR_TYPE
168               STAR "*"
169               CONST_KW "const"
170               WHITESPACE " "
171               PATH_TYPE
172                 PATH
173                   PATH_SEGMENT
174                     NAME_REF
175                       IDENT "sockaddr"
176           COMMA ","
177           WHITESPACE "\n                   "
178           PARAM
179             IDENT_PAT
180               NAME
181                 IDENT "len"
182             COLON ":"
183             WHITESPACE " "
184             PATH_TYPE
185               PATH
186                 PATH_SEGMENT
187                   NAME_REF
188                     IDENT "socklen_t"
189           R_PAREN ")"
190         WHITESPACE " "
191         RET_TYPE
192           THIN_ARROW "->"
193           WHITESPACE " "
194           PATH_TYPE
195             PATH
196               PATH_SEGMENT
197                 COLON2 "::"
198                 NAME_REF
199                   IDENT "c_int"
200         SEMICOLON ";"
201       WHITESPACE "\n    "
202       FN
203         VISIBILITY
204           PUB_KW "pub"
205         WHITESPACE " "
206         FN_KW "fn"
207         WHITESPACE " "
208         NAME
209           IDENT "listen"
210         PARAM_LIST
211           L_PAREN "("
212           PARAM
213             IDENT_PAT
214               NAME
215                 IDENT "socket"
216             COLON ":"
217             WHITESPACE " "
218             PATH_TYPE
219               PATH
220                 PATH_SEGMENT
221                   COLON2 "::"
222                   NAME_REF
223                     IDENT "c_int"
224           COMMA ","
225           WHITESPACE " "
226           PARAM
227             IDENT_PAT
228               NAME
229                 IDENT "backlog"
230             COLON ":"
231             WHITESPACE " "
232             PATH_TYPE
233               PATH
234                 PATH_SEGMENT
235                   COLON2 "::"
236                   NAME_REF
237                     IDENT "c_int"
238           R_PAREN ")"
239         WHITESPACE " "
240         RET_TYPE
241           THIN_ARROW "->"
242           WHITESPACE " "
243           PATH_TYPE
244             PATH
245               PATH_SEGMENT
246                 COLON2 "::"
247                 NAME_REF
248                   IDENT "c_int"
249         SEMICOLON ";"
250       WHITESPACE "\n    "
251       FN
252         VISIBILITY
253           PUB_KW "pub"
254         WHITESPACE " "
255         FN_KW "fn"
256         WHITESPACE " "
257         NAME
258           IDENT "getsockname"
259         PARAM_LIST
260           L_PAREN "("
261           PARAM
262             IDENT_PAT
263               NAME
264                 IDENT "socket"
265             COLON ":"
266             WHITESPACE " "
267             PATH_TYPE
268               PATH
269                 PATH_SEGMENT
270                   COLON2 "::"
271                   NAME_REF
272                     IDENT "c_int"
273           COMMA ","
274           WHITESPACE " "
275           PARAM
276             IDENT_PAT
277               NAME
278                 IDENT "address"
279             COLON ":"
280             WHITESPACE " "
281             PTR_TYPE
282               STAR "*"
283               MUT_KW "mut"
284               WHITESPACE " "
285               PATH_TYPE
286                 PATH
287                   PATH_SEGMENT
288                     NAME_REF
289                       IDENT "sockaddr"
290           COMMA ","
291           WHITESPACE "\n                       "
292           PARAM
293             IDENT_PAT
294               NAME
295                 IDENT "address_len"
296             COLON ":"
297             WHITESPACE " "
298             PTR_TYPE
299               STAR "*"
300               MUT_KW "mut"
301               WHITESPACE " "
302               PATH_TYPE
303                 PATH
304                   PATH_SEGMENT
305                     NAME_REF
306                       IDENT "socklen_t"
307           R_PAREN ")"
308         WHITESPACE " "
309         RET_TYPE
310           THIN_ARROW "->"
311           WHITESPACE " "
312           PATH_TYPE
313             PATH
314               PATH_SEGMENT
315                 COLON2 "::"
316                 NAME_REF
317                   IDENT "c_int"
318         SEMICOLON ";"
319       WHITESPACE "\n    "
320       FN
321         VISIBILITY
322           PUB_KW "pub"
323         WHITESPACE " "
324         FN_KW "fn"
325         WHITESPACE " "
326         NAME
327           IDENT "getsockopt"
328         PARAM_LIST
329           L_PAREN "("
330           PARAM
331             IDENT_PAT
332               NAME
333                 IDENT "sockfd"
334             COLON ":"
335             WHITESPACE " "
336             PATH_TYPE
337               PATH
338                 PATH_SEGMENT
339                   COLON2 "::"
340                   NAME_REF
341                     IDENT "c_int"
342           COMMA ","
343           WHITESPACE "\n                      "
344           PARAM
345             IDENT_PAT
346               NAME
347                 IDENT "level"
348             COLON ":"
349             WHITESPACE " "
350             PATH_TYPE
351               PATH
352                 PATH_SEGMENT
353                   COLON2 "::"
354                   NAME_REF
355                     IDENT "c_int"
356           COMMA ","
357           WHITESPACE "\n                      "
358           PARAM
359             IDENT_PAT
360               NAME
361                 IDENT "optname"
362             COLON ":"
363             WHITESPACE " "
364             PATH_TYPE
365               PATH
366                 PATH_SEGMENT
367                   COLON2 "::"
368                   NAME_REF
369                     IDENT "c_int"
370           COMMA ","
371           WHITESPACE "\n                      "
372           PARAM
373             IDENT_PAT
374               NAME
375                 IDENT "optval"
376             COLON ":"
377             WHITESPACE " "
378             PTR_TYPE
379               STAR "*"
380               MUT_KW "mut"
381               WHITESPACE " "
382               PATH_TYPE
383                 PATH
384                   PATH_SEGMENT
385                     COLON2 "::"
386                     NAME_REF
387                       IDENT "c_void"
388           COMMA ","
389           WHITESPACE "\n                      "
390           PARAM
391             IDENT_PAT
392               NAME
393                 IDENT "optlen"
394             COLON ":"
395             WHITESPACE " "
396             PTR_TYPE
397               STAR "*"
398               MUT_KW "mut"
399               WHITESPACE " "
400               PATH_TYPE
401                 PATH
402                   PATH_SEGMENT
403                     COLON2 "::"
404                     NAME_REF
405                       IDENT "socklen_t"
406           R_PAREN ")"
407         WHITESPACE " "
408         RET_TYPE
409           THIN_ARROW "->"
410           WHITESPACE " "
411           PATH_TYPE
412             PATH
413               PATH_SEGMENT
414                 COLON2 "::"
415                 NAME_REF
416                   IDENT "c_int"
417         SEMICOLON ";"
418       WHITESPACE "\n    "
419       FN
420         VISIBILITY
421           PUB_KW "pub"
422         WHITESPACE " "
423         FN_KW "fn"
424         WHITESPACE " "
425         NAME
426           IDENT "setsockopt"
427         PARAM_LIST
428           L_PAREN "("
429           PARAM
430             IDENT_PAT
431               NAME
432                 IDENT "socket"
433             COLON ":"
434             WHITESPACE " "
435             PATH_TYPE
436               PATH
437                 PATH_SEGMENT
438                   COLON2 "::"
439                   NAME_REF
440                     IDENT "c_int"
441           COMMA ","
442           WHITESPACE " "
443           PARAM
444             IDENT_PAT
445               NAME
446                 IDENT "level"
447             COLON ":"
448             WHITESPACE " "
449             PATH_TYPE
450               PATH
451                 PATH_SEGMENT
452                   COLON2 "::"
453                   NAME_REF
454                     IDENT "c_int"
455           COMMA ","
456           WHITESPACE " "
457           PARAM
458             IDENT_PAT
459               NAME
460                 IDENT "name"
461             COLON ":"
462             WHITESPACE " "
463             PATH_TYPE
464               PATH
465                 PATH_SEGMENT
466                   COLON2 "::"
467                   NAME_REF
468                     IDENT "c_int"
469           COMMA ","
470           WHITESPACE "\n                      "
471           PARAM
472             IDENT_PAT
473               NAME
474                 IDENT "value"
475             COLON ":"
476             WHITESPACE " "
477             PTR_TYPE
478               STAR "*"
479               CONST_KW "const"
480               WHITESPACE " "
481               PATH_TYPE
482                 PATH
483                   PATH_SEGMENT
484                     COLON2 "::"
485                     NAME_REF
486                       IDENT "c_void"
487           COMMA ","
488           WHITESPACE "\n                      "
489           PARAM
490             IDENT_PAT
491               NAME
492                 IDENT "option_len"
493             COLON ":"
494             WHITESPACE " "
495             PATH_TYPE
496               PATH
497                 PATH_SEGMENT
498                   NAME_REF
499                     IDENT "socklen_t"
500           R_PAREN ")"
501         WHITESPACE " "
502         RET_TYPE
503           THIN_ARROW "->"
504           WHITESPACE " "
505           PATH_TYPE
506             PATH
507               PATH_SEGMENT
508                 COLON2 "::"
509                 NAME_REF
510                   IDENT "c_int"
511         SEMICOLON ";"
512       WHITESPACE "\n    "
513       FN
514         VISIBILITY
515           PUB_KW "pub"
516         WHITESPACE " "
517         FN_KW "fn"
518         WHITESPACE " "
519         NAME
520           IDENT "getpeername"
521         PARAM_LIST
522           L_PAREN "("
523           PARAM
524             IDENT_PAT
525               NAME
526                 IDENT "socket"
527             COLON ":"
528             WHITESPACE " "
529             PATH_TYPE
530               PATH
531                 PATH_SEGMENT
532                   COLON2 "::"
533                   NAME_REF
534                     IDENT "c_int"
535           COMMA ","
536           WHITESPACE " "
537           PARAM
538             IDENT_PAT
539               NAME
540                 IDENT "address"
541             COLON ":"
542             WHITESPACE " "
543             PTR_TYPE
544               STAR "*"
545               MUT_KW "mut"
546               WHITESPACE " "
547               PATH_TYPE
548                 PATH
549                   PATH_SEGMENT
550                     NAME_REF
551                       IDENT "sockaddr"
552           COMMA ","
553           WHITESPACE "\n                       "
554           PARAM
555             IDENT_PAT
556               NAME
557                 IDENT "address_len"
558             COLON ":"
559             WHITESPACE " "
560             PTR_TYPE
561               STAR "*"
562               MUT_KW "mut"
563               WHITESPACE " "
564               PATH_TYPE
565                 PATH
566                   PATH_SEGMENT
567                     NAME_REF
568                       IDENT "socklen_t"
569           R_PAREN ")"
570         WHITESPACE " "
571         RET_TYPE
572           THIN_ARROW "->"
573           WHITESPACE " "
574           PATH_TYPE
575             PATH
576               PATH_SEGMENT
577                 COLON2 "::"
578                 NAME_REF
579                   IDENT "c_int"
580         SEMICOLON ";"
581       WHITESPACE "\n    "
582       FN
583         VISIBILITY
584           PUB_KW "pub"
585         WHITESPACE " "
586         FN_KW "fn"
587         WHITESPACE " "
588         NAME
589           IDENT "sendto"
590         PARAM_LIST
591           L_PAREN "("
592           PARAM
593             IDENT_PAT
594               NAME
595                 IDENT "socket"
596             COLON ":"
597             WHITESPACE " "
598             PATH_TYPE
599               PATH
600                 PATH_SEGMENT
601                   COLON2 "::"
602                   NAME_REF
603                     IDENT "c_int"
604           COMMA ","
605           WHITESPACE " "
606           PARAM
607             IDENT_PAT
608               NAME
609                 IDENT "buf"
610             COLON ":"
611             WHITESPACE " "
612             PTR_TYPE
613               STAR "*"
614               CONST_KW "const"
615               WHITESPACE " "
616               PATH_TYPE
617                 PATH
618                   PATH_SEGMENT
619                     COLON2 "::"
620                     NAME_REF
621                       IDENT "c_void"
622           COMMA ","
623           WHITESPACE " "
624           PARAM
625             IDENT_PAT
626               NAME
627                 IDENT "len"
628             COLON ":"
629             WHITESPACE " "
630             PATH_TYPE
631               PATH
632                 PATH_SEGMENT
633                   COLON2 "::"
634                   NAME_REF
635                     IDENT "size_t"
636           COMMA ","
637           WHITESPACE "\n                  "
638           PARAM
639             IDENT_PAT
640               NAME
641                 IDENT "flags"
642             COLON ":"
643             WHITESPACE " "
644             PATH_TYPE
645               PATH
646                 PATH_SEGMENT
647                   COLON2 "::"
648                   NAME_REF
649                     IDENT "c_int"
650           COMMA ","
651           WHITESPACE " "
652           PARAM
653             IDENT_PAT
654               NAME
655                 IDENT "addr"
656             COLON ":"
657             WHITESPACE " "
658             PTR_TYPE
659               STAR "*"
660               CONST_KW "const"
661               WHITESPACE " "
662               PATH_TYPE
663                 PATH
664                   PATH_SEGMENT
665                     NAME_REF
666                       IDENT "sockaddr"
667           COMMA ","
668           WHITESPACE "\n                  "
669           PARAM
670             IDENT_PAT
671               NAME
672                 IDENT "addrlen"
673             COLON ":"
674             WHITESPACE " "
675             PATH_TYPE
676               PATH
677                 PATH_SEGMENT
678                   NAME_REF
679                     IDENT "socklen_t"
680           R_PAREN ")"
681         WHITESPACE " "
682         RET_TYPE
683           THIN_ARROW "->"
684           WHITESPACE " "
685           PATH_TYPE
686             PATH
687               PATH_SEGMENT
688                 COLON2 "::"
689                 NAME_REF
690                   IDENT "ssize_t"
691         SEMICOLON ";"
692       WHITESPACE "\n    "
693       FN
694         VISIBILITY
695           PUB_KW "pub"
696         WHITESPACE " "
697         FN_KW "fn"
698         WHITESPACE " "
699         NAME
700           IDENT "send"
701         PARAM_LIST
702           L_PAREN "("
703           PARAM
704             IDENT_PAT
705               NAME
706                 IDENT "socket"
707             COLON ":"
708             WHITESPACE " "
709             PATH_TYPE
710               PATH
711                 PATH_SEGMENT
712                   COLON2 "::"
713                   NAME_REF
714                     IDENT "c_int"
715           COMMA ","
716           WHITESPACE " "
717           PARAM
718             IDENT_PAT
719               NAME
720                 IDENT "buf"
721             COLON ":"
722             WHITESPACE " "
723             PTR_TYPE
724               STAR "*"
725               CONST_KW "const"
726               WHITESPACE " "
727               PATH_TYPE
728                 PATH
729                   PATH_SEGMENT
730                     COLON2 "::"
731                     NAME_REF
732                       IDENT "c_void"
733           COMMA ","
734           WHITESPACE " "
735           PARAM
736             IDENT_PAT
737               NAME
738                 IDENT "len"
739             COLON ":"
740             WHITESPACE " "
741             PATH_TYPE
742               PATH
743                 PATH_SEGMENT
744                   COLON2 "::"
745                   NAME_REF
746                     IDENT "size_t"
747           COMMA ","
748           WHITESPACE "\n                "
749           PARAM
750             IDENT_PAT
751               NAME
752                 IDENT "flags"
753             COLON ":"
754             WHITESPACE " "
755             PATH_TYPE
756               PATH
757                 PATH_SEGMENT
758                   COLON2 "::"
759                   NAME_REF
760                     IDENT "c_int"
761           R_PAREN ")"
762         WHITESPACE " "
763         RET_TYPE
764           THIN_ARROW "->"
765           WHITESPACE " "
766           PATH_TYPE
767             PATH
768               PATH_SEGMENT
769                 COLON2 "::"
770                 NAME_REF
771                   IDENT "ssize_t"
772         SEMICOLON ";"
773       WHITESPACE "\n    "
774       FN
775         VISIBILITY
776           PUB_KW "pub"
777         WHITESPACE " "
778         FN_KW "fn"
779         WHITESPACE " "
780         NAME
781           IDENT "recvfrom"
782         PARAM_LIST
783           L_PAREN "("
784           PARAM
785             IDENT_PAT
786               NAME
787                 IDENT "socket"
788             COLON ":"
789             WHITESPACE " "
790             PATH_TYPE
791               PATH
792                 PATH_SEGMENT
793                   COLON2 "::"
794                   NAME_REF
795                     IDENT "c_int"
796           COMMA ","
797           WHITESPACE " "
798           PARAM
799             IDENT_PAT
800               NAME
801                 IDENT "buf"
802             COLON ":"
803             WHITESPACE " "
804             PTR_TYPE
805               STAR "*"
806               MUT_KW "mut"
807               WHITESPACE " "
808               PATH_TYPE
809                 PATH
810                   PATH_SEGMENT
811                     COLON2 "::"
812                     NAME_REF
813                       IDENT "c_void"
814           COMMA ","
815           WHITESPACE " "
816           PARAM
817             IDENT_PAT
818               NAME
819                 IDENT "len"
820             COLON ":"
821             WHITESPACE " "
822             PATH_TYPE
823               PATH
824                 PATH_SEGMENT
825                   COLON2 "::"
826                   NAME_REF
827                     IDENT "size_t"
828           COMMA ","
829           WHITESPACE "\n                    "
830           PARAM
831             IDENT_PAT
832               NAME
833                 IDENT "flags"
834             COLON ":"
835             WHITESPACE " "
836             PATH_TYPE
837               PATH
838                 PATH_SEGMENT
839                   COLON2 "::"
840                   NAME_REF
841                     IDENT "c_int"
842           COMMA ","
843           WHITESPACE " "
844           PARAM
845             IDENT_PAT
846               NAME
847                 IDENT "addr"
848             COLON ":"
849             WHITESPACE " "
850             PTR_TYPE
851               STAR "*"
852               MUT_KW "mut"
853               WHITESPACE " "
854               PATH_TYPE
855                 PATH
856                   PATH_SEGMENT
857                     COLON2 "::"
858                     NAME_REF
859                       IDENT "sockaddr"
860           COMMA ","
861           WHITESPACE "\n                    "
862           PARAM
863             IDENT_PAT
864               NAME
865                 IDENT "addrlen"
866             COLON ":"
867             WHITESPACE " "
868             PTR_TYPE
869               STAR "*"
870               MUT_KW "mut"
871               WHITESPACE " "
872               PATH_TYPE
873                 PATH
874                   PATH_SEGMENT
875                     COLON2 "::"
876                     NAME_REF
877                       IDENT "socklen_t"
878           R_PAREN ")"
879         WHITESPACE " "
880         RET_TYPE
881           THIN_ARROW "->"
882           WHITESPACE " "
883           PATH_TYPE
884             PATH
885               PATH_SEGMENT
886                 COLON2 "::"
887                 NAME_REF
888                   IDENT "ssize_t"
889         SEMICOLON ";"
890       WHITESPACE "\n    "
891       FN
892         VISIBILITY
893           PUB_KW "pub"
894         WHITESPACE " "
895         FN_KW "fn"
896         WHITESPACE " "
897         NAME
898           IDENT "recv"
899         PARAM_LIST
900           L_PAREN "("
901           PARAM
902             IDENT_PAT
903               NAME
904                 IDENT "socket"
905             COLON ":"
906             WHITESPACE " "
907             PATH_TYPE
908               PATH
909                 PATH_SEGMENT
910                   COLON2 "::"
911                   NAME_REF
912                     IDENT "c_int"
913           COMMA ","
914           WHITESPACE " "
915           PARAM
916             IDENT_PAT
917               NAME
918                 IDENT "buf"
919             COLON ":"
920             WHITESPACE " "
921             PTR_TYPE
922               STAR "*"
923               MUT_KW "mut"
924               WHITESPACE " "
925               PATH_TYPE
926                 PATH
927                   PATH_SEGMENT
928                     COLON2 "::"
929                     NAME_REF
930                       IDENT "c_void"
931           COMMA ","
932           WHITESPACE " "
933           PARAM
934             IDENT_PAT
935               NAME
936                 IDENT "len"
937             COLON ":"
938             WHITESPACE " "
939             PATH_TYPE
940               PATH
941                 PATH_SEGMENT
942                   COLON2 "::"
943                   NAME_REF
944                     IDENT "size_t"
945           COMMA ","
946           WHITESPACE "\n                "
947           PARAM
948             IDENT_PAT
949               NAME
950                 IDENT "flags"
951             COLON ":"
952             WHITESPACE " "
953             PATH_TYPE
954               PATH
955                 PATH_SEGMENT
956                   COLON2 "::"
957                   NAME_REF
958                     IDENT "c_int"
959           R_PAREN ")"
960         WHITESPACE " "
961         RET_TYPE
962           THIN_ARROW "->"
963           WHITESPACE " "
964           PATH_TYPE
965             PATH
966               PATH_SEGMENT
967                 COLON2 "::"
968                 NAME_REF
969                   IDENT "ssize_t"
970         SEMICOLON ";"
971       WHITESPACE "\n"
972       R_CURLY "}"
973   WHITESPACE "\n"