]> git.lizzy.rs Git - rust.git/blob - crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
Merge #7321
[rust.git] / crates / syntax / test_data / parser / inline / ok / 0106_lambda_expr.rast
1 SOURCE_FILE@0..134
2   FN@0..133
3     FN_KW@0..2 "fn"
4     WHITESPACE@2..3 " "
5     NAME@3..6
6       IDENT@3..6 "foo"
7     PARAM_LIST@6..8
8       L_PAREN@6..7 "("
9       R_PAREN@7..8 ")"
10     WHITESPACE@8..9 " "
11     BLOCK_EXPR@9..133
12       L_CURLY@9..10 "{"
13       WHITESPACE@10..15 "\n    "
14       EXPR_STMT@15..21
15         CLOSURE_EXPR@15..20
16           PARAM_LIST@15..17
17             PIPE@15..16 "|"
18             PIPE@16..17 "|"
19           WHITESPACE@17..18 " "
20           TUPLE_EXPR@18..20
21             L_PAREN@18..19 "("
22             R_PAREN@19..20 ")"
23         SEMICOLON@20..21 ";"
24       WHITESPACE@21..26 "\n    "
25       EXPR_STMT@26..43
26         CLOSURE_EXPR@26..42
27           PARAM_LIST@26..28
28             PIPE@26..27 "|"
29             PIPE@27..28 "|"
30           WHITESPACE@28..29 " "
31           RET_TYPE@29..35
32             THIN_ARROW@29..31 "->"
33             WHITESPACE@31..32 " "
34             PATH_TYPE@32..35
35               PATH@32..35
36                 PATH_SEGMENT@32..35
37                   NAME_REF@32..35
38                     IDENT@32..35 "i32"
39           WHITESPACE@35..36 " "
40           BLOCK_EXPR@36..42
41             L_CURLY@36..37 "{"
42             WHITESPACE@37..38 " "
43             LITERAL@38..40
44               INT_NUMBER@38..40 "92"
45             WHITESPACE@40..41 " "
46             R_CURLY@41..42 "}"
47         SEMICOLON@42..43 ";"
48       WHITESPACE@43..48 "\n    "
49       EXPR_STMT@48..54
50         CLOSURE_EXPR@48..53
51           PARAM_LIST@48..51
52             PIPE@48..49 "|"
53             PARAM@49..50
54               IDENT_PAT@49..50
55                 NAME@49..50
56                   IDENT@49..50 "x"
57             PIPE@50..51 "|"
58           WHITESPACE@51..52 " "
59           PATH_EXPR@52..53
60             PATH@52..53
61               PATH_SEGMENT@52..53
62                 NAME_REF@52..53
63                   IDENT@52..53 "x"
64         SEMICOLON@53..54 ";"
65       WHITESPACE@54..59 "\n    "
66       EXPR_STMT@59..76
67         CLOSURE_EXPR@59..75
68           MOVE_KW@59..63 "move"
69           WHITESPACE@63..64 " "
70           PARAM_LIST@64..73
71             PIPE@64..65 "|"
72             PARAM@65..71
73               IDENT_PAT@65..66
74                 NAME@65..66
75                   IDENT@65..66 "x"
76               COLON@66..67 ":"
77               WHITESPACE@67..68 " "
78               PATH_TYPE@68..71
79                 PATH@68..71
80                   PATH_SEGMENT@68..71
81                     NAME_REF@68..71
82                       IDENT@68..71 "i32"
83             COMMA@71..72 ","
84             PIPE@72..73 "|"
85           WHITESPACE@73..74 " "
86           PATH_EXPR@74..75
87             PATH@74..75
88               PATH_SEGMENT@74..75
89                 NAME_REF@74..75
90                   IDENT@74..75 "x"
91         SEMICOLON@75..76 ";"
92       WHITESPACE@76..81 "\n    "
93       EXPR_STMT@81..93
94         CLOSURE_EXPR@81..92
95           ASYNC_KW@81..86 "async"
96           WHITESPACE@86..87 " "
97           PARAM_LIST@87..89
98             PIPE@87..88 "|"
99             PIPE@88..89 "|"
100           WHITESPACE@89..90 " "
101           BLOCK_EXPR@90..92
102             L_CURLY@90..91 "{"
103             R_CURLY@91..92 "}"
104         SEMICOLON@92..93 ";"
105       WHITESPACE@93..98 "\n    "
106       EXPR_STMT@98..109
107         CLOSURE_EXPR@98..108
108           MOVE_KW@98..102 "move"
109           WHITESPACE@102..103 " "
110           PARAM_LIST@103..105
111             PIPE@103..104 "|"
112             PIPE@104..105 "|"
113           WHITESPACE@105..106 " "
114           BLOCK_EXPR@106..108
115             L_CURLY@106..107 "{"
116             R_CURLY@107..108 "}"
117         SEMICOLON@108..109 ";"
118       WHITESPACE@109..114 "\n    "
119       EXPR_STMT@114..131
120         CLOSURE_EXPR@114..130
121           ASYNC_KW@114..119 "async"
122           WHITESPACE@119..120 " "
123           MOVE_KW@120..124 "move"
124           WHITESPACE@124..125 " "
125           PARAM_LIST@125..127
126             PIPE@125..126 "|"
127             PIPE@126..127 "|"
128           WHITESPACE@127..128 " "
129           BLOCK_EXPR@128..130
130             L_CURLY@128..129 "{"
131             R_CURLY@129..130 "}"
132         SEMICOLON@130..131 ";"
133       WHITESPACE@131..132 "\n"
134       R_CURLY@132..133 "}"
135   WHITESPACE@133..134 "\n"