Add test for async block

This commit is contained in:
Caio 2019-03-10 14:35:25 -03:00
parent ad72699553
commit cc9721996c
3 changed files with 34 additions and 1 deletions

View File

@ -88,7 +88,8 @@ pub(super) fn maybe_item(p: &mut Parser, flavor: ItemFlavor) -> MaybeItem {
let mut has_mods = false;
// modifiers
// test_err async_without_semicolon
// fn foo() { let _ = async {} }
has_mods |= p.eat(CONST_KW);
if p.at(ASYNC_KW) && p.nth(1) != L_CURLY {
p.eat(ASYNC_KW);

View File

@ -0,0 +1 @@
fn foo() { let _ = async {} }

View File

@ -0,0 +1,31 @@
SOURCE_FILE@[0; 30)
FN_DEF@[0; 29)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
BLOCK@[9; 29)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
LET_STMT@[11; 27)
LET_KW@[11; 14)
WHITESPACE@[14; 15)
PLACEHOLDER_PAT@[15; 16)
UNDERSCORE@[15; 16)
WHITESPACE@[16; 17)
EQ@[17; 18)
WHITESPACE@[18; 19)
BLOCK_EXPR@[19; 27)
ASYNC_KW@[19; 24)
WHITESPACE@[24; 25)
BLOCK@[25; 27)
L_CURLY@[25; 26)
R_CURLY@[26; 27)
err: `expected SEMI`
WHITESPACE@[27; 28)
R_CURLY@[28; 29)
WHITESPACE@[29; 30)