From a2769b5ade6cbb544de05ba402eb1b6bbddcd368 Mon Sep 17 00:00:00 2001 From: James Long Date: Fri, 3 Jul 2026 11:26:58 -0400 Subject: [PATCH] fix(core): rewrite replacements while hoisting layers (#35176) --- packages/core/src/effect/layer-node.ts | 2 +- packages/core/src/location-services.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/effect/layer-node.ts b/packages/core/src/effect/layer-node.ts index b58692a1553..9dbc3d51607 100644 --- a/packages/core/src/effect/layer-node.ts +++ b/packages/core/src/effect/layer-node.ts @@ -230,7 +230,7 @@ export function hoist { const allReplacements = replacements.concat([[Location.node, Location.boundNode(ref)]]) + // Apply replacements during hoist, not afterward: replacements can + // introduce new tagged dependencies (Location.boundNode depends on + // Project), and the hoist walk is the only pass that can still slice + // those back out. const location = LayerNode.hoist(locationServices, Node.tags.values.global, allReplacements) return LayerNode.compile(location.node).pipe(