From 36947c5922c32c03a5de34f140e84da55951d4c4 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 1 Jul 2025 11:32:30 -0400 Subject: [PATCH] partial fix --- .../client/visitors/AwaitExpression.js | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js index aa9ba2fe3f..c0b3a5601c 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js @@ -3,15 +3,18 @@ /** @import { Context } from '../types' */ import { dev } from '../../../../state.js'; import * as b from '../../../../utils/builders.js'; +import { get_rune } from '../../../scope.js'; /** * @param {AwaitExpression} node * @param {Context} context */ export function AwaitExpression(node, context) { - const tla = context.state.is_instance && context.state.scope.function_depth === 1; - - const save = tla || !is_last_evaluated_expression(context.path, node); + const save = + // preserve context if this is a top-level await in `