]> git.lizzy.rs Git - rust.git/blob - crates/parser/test_data/parser/ok/0050_async_block_as_argument.rast
Merge #11481
[rust.git] / crates / parser / test_data / parser / ok / 0050_async_block_as_argument.rast
1 SOURCE_FILE@0..95
2   FN@0..52
3     FN_KW@0..2 "fn"
4     WHITESPACE@2..3 " "
5     NAME@3..6
6       IDENT@3..6 "foo"
7     PARAM_LIST@6..49
8       L_PAREN@6..7 "("
9       PARAM@7..48
10         IDENT_PAT@7..8
11           NAME@7..8
12             IDENT@7..8 "x"
13         COLON@8..9 ":"
14         WHITESPACE@9..10 " "
15         IMPL_TRAIT_TYPE@10..48
16           IMPL_KW@10..14 "impl"
17           WHITESPACE@14..15 " "
18           TYPE_BOUND_LIST@15..48
19             TYPE_BOUND@15..48
20               PATH_TYPE@15..48
21                 PATH@15..48
22                   PATH@15..26
23                     PATH@15..18
24                       PATH_SEGMENT@15..18
25                         NAME_REF@15..18
26                           IDENT@15..18 "std"
27                     COLON2@18..20 "::"
28                     PATH_SEGMENT@20..26
29                       NAME_REF@20..26
30                         IDENT@20..26 "future"
31                   COLON2@26..28 "::"
32                   PATH_SEGMENT@28..48
33                     NAME_REF@28..34
34                       IDENT@28..34 "Future"
35                     GENERIC_ARG_LIST@34..48
36                       L_ANGLE@34..35 "<"
37                       ASSOC_TYPE_ARG@35..47
38                         NAME_REF@35..41
39                           IDENT@35..41 "Output"
40                         WHITESPACE@41..42 " "
41                         EQ@42..43 "="
42                         WHITESPACE@43..44 " "
43                         PATH_TYPE@44..47
44                           PATH@44..47
45                             PATH_SEGMENT@44..47
46                               NAME_REF@44..47
47                                 IDENT@44..47 "i32"
48                       R_ANGLE@47..48 ">"
49       R_PAREN@48..49 ")"
50     WHITESPACE@49..50 " "
51     BLOCK_EXPR@50..52
52       STMT_LIST@50..52
53         L_CURLY@50..51 "{"
54         R_CURLY@51..52 "}"
55   WHITESPACE@52..54 "\n\n"
56   FN@54..94
57     FN_KW@54..56 "fn"
58     WHITESPACE@56..57 " "
59     NAME@57..61
60       IDENT@57..61 "main"
61     PARAM_LIST@61..63
62       L_PAREN@61..62 "("
63       R_PAREN@62..63 ")"
64     WHITESPACE@63..64 " "
65     BLOCK_EXPR@64..94
66       STMT_LIST@64..94
67         L_CURLY@64..65 "{"
68         WHITESPACE@65..70 "\n    "
69         CALL_EXPR@70..92
70           PATH_EXPR@70..73
71             PATH@70..73
72               PATH_SEGMENT@70..73
73                 NAME_REF@70..73
74                   IDENT@70..73 "foo"
75           ARG_LIST@73..92
76             L_PAREN@73..74 "("
77             BLOCK_EXPR@74..91
78               ASYNC_KW@74..79 "async"
79               WHITESPACE@79..80 " "
80               MOVE_KW@80..84 "move"
81               WHITESPACE@84..85 " "
82               STMT_LIST@85..91
83                 L_CURLY@85..86 "{"
84                 WHITESPACE@86..87 " "
85                 LITERAL@87..89
86                   INT_NUMBER@87..89 "12"
87                 WHITESPACE@89..90 " "
88                 R_CURLY@90..91 "}"
89             R_PAREN@91..92 ")"
90         WHITESPACE@92..93 "\n"
91         R_CURLY@93..94 "}"
92   WHITESPACE@94..95 "\n"