diff --git a/src/protocol/parser/pass_rewriting.rs b/src/protocol/parser/pass_rewriting.rs index d5080c1c04c63d750f292e144b621d08a2f66b4e..d4c57df2fb4049f5cad3aa38e938bcff0139d40d 100644 --- a/src/protocol/parser/pass_rewriting.rs +++ b/src/protocol/parser/pass_rewriting.rs @@ -291,6 +291,7 @@ impl Visitor for PassRewriting { // Final steps: set the statements of the replacement block statement, // and link all of those statements together + let first_stmt_id = transformed_stmts[0]; let mut last_stmt_id = transformed_stmts[0]; for stmt_id in transformed_stmts.iter().skip(1).copied() { set_ast_statement_next(ctx, last_stmt_id, stmt_id); @@ -298,6 +299,7 @@ impl Visitor for PassRewriting { } let outer_block_stmt = &mut ctx.heap[outer_block_id]; + outer_block_stmt.next = first_stmt_id; outer_block_stmt.statements = transformed_stmts; return Ok(())