diff --git a/Shell/AST.cpp b/Shell/AST.cpp index b7b1da69b2b..a6a72998528 100644 --- a/Shell/AST.cpp +++ b/Shell/AST.cpp @@ -87,6 +87,16 @@ void Node::for_each_entry(RefPtr shell, Functionis_list_without_resolution()) { + auto list = value->resolve_without_cast(shell); + for (auto& element : static_cast(list.ptr())->values()) { + if (callback(element) == IterationDecision::Break) + break; + } + return; + } + auto list = value->resolve_as_list(shell); for (auto& element : list) { if (callback(create(move(element))) == IterationDecision::Break)