From 356f278be964dfc3bfd5186e44e0d4f6ad697c1b Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Thu, 22 Jan 2026 22:50:53 -0800 Subject: [PATCH] do not double evaluate dependent single variaibles --- src/ytdl_sub/script/script.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ytdl_sub/script/script.py b/src/ytdl_sub/script/script.py index 786d7645..cb4c5665 100644 --- a/src/ytdl_sub/script/script.py +++ b/src/ytdl_sub/script/script.py @@ -737,15 +737,16 @@ class Script: for variable in list(to_partially_resolve): definition = unresolved[variable] - maybe_resolved = definition + if isinstance(definition, Variable) and definition.name not in unresolvable: if definition in resolved: maybe_resolved = resolved[definition] - elif definition in unresolved: - maybe_resolved = unresolved[definition] else: - raise UNREACHABLE + # If it's not in resolved, it must be in unresolved. + # Do not modify the definition, this avoids duplicate work because it will + # wait for the single dependent variable to be resolved. + assert definition in unresolved elif isinstance(definition, VariableDependency): maybe_resolved = definition.partial_resolve( resolved_variables=resolved,