Merge #304
304: Support a blank expression before a semicolon r=DJMcNab a=DJMcNab Part of fixing #290. Note that I have not run `gen-tests` as I don't want to conflict with #299. Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
This commit is contained in:
commit
61dcaa6add
3 changed files with 65 additions and 0 deletions
|
@ -42,9 +42,15 @@ pub(crate) fn block(p: &mut Parser) {
|
|||
}
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
LET_KW => let_stmt(p),
|
||||
// test nocontentexpr
|
||||
// fn foo(){
|
||||
// ;;;some_expr();;;;{;;;};;;;Ok(())
|
||||
// }
|
||||
SEMI => p.bump(),
|
||||
_ => {
|
||||
// test block_items
|
||||
// fn a() { fn b() {} }
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
fn foo(){
|
||||
;;;some_expr();;;;{;;;};;;;Ok(())
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
SOURCE_FILE@[0; 50)
|
||||
FN_DEF@[0; 49)
|
||||
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)
|
||||
BLOCK@[8; 49)
|
||||
L_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 14)
|
||||
SEMI@[14; 15)
|
||||
SEMI@[15; 16)
|
||||
SEMI@[16; 17)
|
||||
EXPR_STMT@[17; 29)
|
||||
CALL_EXPR@[17; 28)
|
||||
PATH_EXPR@[17; 26)
|
||||
PATH@[17; 26)
|
||||
PATH_SEGMENT@[17; 26)
|
||||
NAME_REF@[17; 26)
|
||||
IDENT@[17; 26) "some_expr"
|
||||
ARG_LIST@[26; 28)
|
||||
L_PAREN@[26; 27)
|
||||
R_PAREN@[27; 28)
|
||||
SEMI@[28; 29)
|
||||
SEMI@[29; 30)
|
||||
SEMI@[30; 31)
|
||||
SEMI@[31; 32)
|
||||
EXPR_STMT@[32; 38)
|
||||
BLOCK_EXPR@[32; 37)
|
||||
BLOCK@[32; 37)
|
||||
L_CURLY@[32; 33)
|
||||
SEMI@[33; 34)
|
||||
SEMI@[34; 35)
|
||||
SEMI@[35; 36)
|
||||
R_CURLY@[36; 37)
|
||||
SEMI@[37; 38)
|
||||
SEMI@[38; 39)
|
||||
SEMI@[39; 40)
|
||||
SEMI@[40; 41)
|
||||
CALL_EXPR@[41; 47)
|
||||
PATH_EXPR@[41; 43)
|
||||
PATH@[41; 43)
|
||||
PATH_SEGMENT@[41; 43)
|
||||
NAME_REF@[41; 43)
|
||||
IDENT@[41; 43) "Ok"
|
||||
ARG_LIST@[43; 47)
|
||||
L_PAREN@[43; 44)
|
||||
TUPLE_EXPR@[44; 46)
|
||||
L_PAREN@[44; 45)
|
||||
R_PAREN@[45; 46)
|
||||
R_PAREN@[46; 47)
|
||||
WHITESPACE@[47; 48)
|
||||
R_CURLY@[48; 49)
|
||||
WHITESPACE@[49; 50)
|
Loading…
Reference in a new issue