| ... | @@ -20,6 +20,18 @@ pub fn parse_block(p: &mut Parser) -> Result<Block> { | ... | @@ -20,6 +20,18 @@ pub fn parse_block(p: &mut Parser) -> Result<Block> { |
| 20 | .peek() | 20 | .peek() |
| 21 | .map_or(false, |x| x.is_start_of_statement_like_expression()); | 21 | .map_or(false, |x| x.is_start_of_statement_like_expression()); |
| 22 | | 22 | |
| | 23 | match p.peek() { |
| | 24 | Some(TokenType::ClosedBrace) => { |
| | 25 | p.next(); |
| | 26 | p.is_top_level = was_top_level; |
| | 27 | return Ok(Block { |
| | 28 | statements, |
| | 29 | has_implicit_return: false, |
| | 30 | }); |
| | 31 | } |
| | 32 | _ => (), |
| | 33 | } |
| | 34 | |
| 23 | let statement = match parse_statement(p) { | 35 | let statement = match parse_statement(p) { |
| 24 | Ok(statement) => statement, | 36 | Ok(statement) => statement, |
| 25 | Err(err) => { | 37 | Err(err) => { |