diff --git a/crates/parser/parse_block.rs b/crates/parser/parse_block.rs index 1dda24b0ba171c4ba8c7bad2d41003fc2d308b2f..a7b827a93fb636a6e34409a1e6d45e05e1578aab 100644 --- a/crates/parser/parse_block.rs +++ b/crates/parser/parse_block.rs @@ -20,6 +20,18 @@ pub fn parse_block(p: &mut Parser) -> Result { .peek() .map_or(false, |x| x.is_start_of_statement_like_expression()); + match p.peek() { + Some(TokenType::ClosedBrace) => { + p.next(); + p.is_top_level = was_top_level; + return Ok(Block { + statements, + has_implicit_return: false, + }); + } + _ => (), + } + let statement = match parse_statement(p) { Ok(statement) => statement, Err(err) => {