From 16d0d0ea3d7b305039216aac5eab3efb30915a7f Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Fri, 08 May 2026 02:22:14 +0000 Subject: [PATCH] fix: object iteration in comps --- --- a/crates/jrsonnet-evaluator/src/evaluate/compspec.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/compspec.rs @@ -177,9 +177,7 @@ // specs, allocate one Iter A-frame per for-spec and re-set the slot // per iteration as long as the frame's refcount stays at 1. 'eager: { - let mut out = Vec::new(); - - if comp.compspecs.iter().all(|c| { + if !comp.compspecs.iter().all(|c| { matches!( c, LCompSpec::If(_) @@ -188,7 +186,11 @@ .. } ) - }) && evaluate_compspecs_eager( + }) { + break 'eager; + } + let mut out = Vec::new(); + if evaluate_compspecs_eager( ctx.clone(), &comp.compspecs, &cached_overs, -- gitstuff