From 144ac121079251455ace7caad111f4c7cfbf5607 Mon Sep 17 00:00:00 2001 From: Glint Dev Date: Fri, 24 Jul 2026 16:55:52 +0300 Subject: [PATCH] phase 7: fix @each to stay sequential (RheiContext not Sync); keep compute_batch/matching_rules_batch in style.rs --- src/interpreter/mod.rs | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs index adda157..c432a89 100644 --- a/src/interpreter/mod.rs +++ b/src/interpreter/mod.rs @@ -427,44 +427,13 @@ impl Interpreter { let child_refs: Vec<&Element<'a>> = el.children.iter().collect(); - #[cfg(feature = "parallel")] - if items.len() >= 10 { - use rayon::prelude::*; - let var_name_owned = var_name.to_string(); - let vars_snapshot = variables.clone(); - let results: Vec>> = items - .par_iter() - .map(|item| { - let mut local_vars = vars_snapshot.clone(); - local_vars.insert(var_name_owned.clone(), Value::Str(CompactString::new(item))); - Self::evaluate_vdom_incr( - &child_refs, &mut local_vars, components, rhei, stylesheet, ancestors, dirty_set, - ) - }) - .collect(); - for result in results { - output.extend(result); - } - } else { - for item in items { - let old_val = variables.insert(var_name.to_string(), Value::Str(CompactString::new(item))); - output.extend(Self::evaluate_vdom_incr( - &child_refs, variables, components, rhei, stylesheet, ancestors, dirty_set, - )); - if let Some(old) = old_val { - variables.insert(var_name.to_string(), old); - } else { - variables.remove(var_name); - } - } - } - - #[cfg(not(feature = "parallel"))] for item in items { let old_val = variables.insert(var_name.to_string(), Value::Str(CompactString::new(item))); + output.extend(Self::evaluate_vdom_incr( &child_refs, variables, components, rhei, stylesheet, ancestors, dirty_set, )); + if let Some(old) = old_val { variables.insert(var_name.to_string(), old); } else {