| ... | ... | @@ -2125,8 +2125,12 @@ static AstNode *ast_parse_block(ParseContext *pc, size_t *token_index, bool mand |
| 2125 | 2125 | statement_node = ast_parse_variable_declaration_expr(pc, token_index, false, VisibModPrivate); |
| 2126 | 2126 | if (!statement_node) { |
| 2127 | 2127 | statement_node = ast_parse_defer_expr(pc, token_index); |
| 2128 | | if (!statement_node) |
| 2128 | if (statement_node) { |
| 2129 | // don't let defer be the last statement in a block |
| 2130 | need_implicit_final_void_statement = true; |
| 2131 | } else { |
| 2129 | 2132 | statement_node = ast_parse_block_expr(pc, token_index, false); |
| 2133 | } |
| 2130 | 2134 | if (statement_node) { |
| 2131 | 2135 | if (statement_has_block_body(statement_node)) |
| 2132 | 2136 | semicolon_expected = false; |