From 6a3066519cdcab1559dda6fc12707b48c5f5e823 Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Sun, 1 Jun 2025 17:27:52 -0700 Subject: [PATCH] fix: avoid recursion error in `EachBlock` visitor (#16058) --- .changeset/proud-pumpkins-train.md | 5 +++++ .../src/compiler/phases/2-analyze/visitors/EachBlock.js | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 .changeset/proud-pumpkins-train.md diff --git a/.changeset/proud-pumpkins-train.md b/.changeset/proud-pumpkins-train.md new file mode 100644 index 0000000000..11d09aeb80 --- /dev/null +++ b/.changeset/proud-pumpkins-train.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: avoid recursion error in `EachBlock` visitor diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js index 0ebfa563cf..e6a83921b1 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js @@ -77,6 +77,9 @@ export function EachBlock(node, context) { * @returns {void} */ function collect_transitive_dependencies(binding, bindings) { + if (bindings.has(binding)) { + return; + } bindings.add(binding); if (binding.kind === 'legacy_reactive') {