mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 18:23:49 +00:00
Merge #1082
1082: Async block in argument position r=matklad a=andreytkachenko Fixes case when async block appears in argument position Co-authored-by: Andrey Tkachenko <andreytkachenko64@gmail.com>
This commit is contained in:
commit
56f3524c69
@ -51,6 +51,7 @@ pub(super) const ATOM_EXPR_FIRST: TokenSet =
|
||||
BREAK_KW,
|
||||
CONTINUE_KW,
|
||||
LIFETIME,
|
||||
ASYNC_KW,
|
||||
]);
|
||||
|
||||
const EXPR_RECOVERY_SET: TokenSet = token_set![LET_KW];
|
||||
|
@ -0,0 +1,5 @@
|
||||
fn foo(x: impl std::future::Future<Output = i32>) {}
|
||||
|
||||
fn main() {
|
||||
foo(async move { 12 })
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
SOURCE_FILE@[0; 95)
|
||||
FN_DEF@[0; 52)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
NAME@[3; 6)
|
||||
IDENT@[3; 6) "foo"
|
||||
PARAM_LIST@[6; 49)
|
||||
L_PAREN@[6; 7)
|
||||
PARAM@[7; 48)
|
||||
BIND_PAT@[7; 8)
|
||||
NAME@[7; 8)
|
||||
IDENT@[7; 8) "x"
|
||||
COLON@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
IMPL_TRAIT_TYPE@[10; 48)
|
||||
IMPL_KW@[10; 14)
|
||||
WHITESPACE@[14; 15)
|
||||
TYPE_BOUND_LIST@[15; 48)
|
||||
TYPE_BOUND@[15; 48)
|
||||
PATH_TYPE@[15; 48)
|
||||
PATH@[15; 48)
|
||||
PATH@[15; 26)
|
||||
PATH@[15; 18)
|
||||
PATH_SEGMENT@[15; 18)
|
||||
NAME_REF@[15; 18)
|
||||
IDENT@[15; 18) "std"
|
||||
COLONCOLON@[18; 20)
|
||||
PATH_SEGMENT@[20; 26)
|
||||
NAME_REF@[20; 26)
|
||||
IDENT@[20; 26) "future"
|
||||
COLONCOLON@[26; 28)
|
||||
PATH_SEGMENT@[28; 48)
|
||||
NAME_REF@[28; 34)
|
||||
IDENT@[28; 34) "Future"
|
||||
TYPE_ARG_LIST@[34; 48)
|
||||
L_ANGLE@[34; 35)
|
||||
ASSOC_TYPE_ARG@[35; 47)
|
||||
NAME_REF@[35; 41)
|
||||
IDENT@[35; 41) "Output"
|
||||
WHITESPACE@[41; 42)
|
||||
EQ@[42; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
PATH_TYPE@[44; 47)
|
||||
PATH@[44; 47)
|
||||
PATH_SEGMENT@[44; 47)
|
||||
NAME_REF@[44; 47)
|
||||
IDENT@[44; 47) "i32"
|
||||
R_ANGLE@[47; 48)
|
||||
R_PAREN@[48; 49)
|
||||
WHITESPACE@[49; 50)
|
||||
BLOCK@[50; 52)
|
||||
L_CURLY@[50; 51)
|
||||
R_CURLY@[51; 52)
|
||||
WHITESPACE@[52; 54)
|
||||
FN_DEF@[54; 94)
|
||||
FN_KW@[54; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
NAME@[57; 61)
|
||||
IDENT@[57; 61) "main"
|
||||
PARAM_LIST@[61; 63)
|
||||
L_PAREN@[61; 62)
|
||||
R_PAREN@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
BLOCK@[64; 94)
|
||||
L_CURLY@[64; 65)
|
||||
WHITESPACE@[65; 70)
|
||||
CALL_EXPR@[70; 92)
|
||||
PATH_EXPR@[70; 73)
|
||||
PATH@[70; 73)
|
||||
PATH_SEGMENT@[70; 73)
|
||||
NAME_REF@[70; 73)
|
||||
IDENT@[70; 73) "foo"
|
||||
ARG_LIST@[73; 92)
|
||||
L_PAREN@[73; 74)
|
||||
BLOCK_EXPR@[74; 91)
|
||||
ASYNC_KW@[74; 79)
|
||||
WHITESPACE@[79; 80)
|
||||
MOVE_KW@[80; 84)
|
||||
WHITESPACE@[84; 85)
|
||||
BLOCK@[85; 91)
|
||||
L_CURLY@[85; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
LITERAL@[87; 89)
|
||||
INT_NUMBER@[87; 89) "12"
|
||||
WHITESPACE@[89; 90)
|
||||
R_CURLY@[90; 91)
|
||||
R_PAREN@[91; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
R_CURLY@[93; 94)
|
||||
WHITESPACE@[94; 95)
|
Loading…
Reference in New Issue
Block a user