@@ -342,7 +342,7 @@ function varmap_to_vars(
342342 if toterm != = nothing
343343 add_toterms! (varmap; toterm)
344344 end
345- evaluate_varmap! (AtomicArrayDictSubstitutionWrapper (varmap), vars; limit = substitution_limit)
345+ evaluate_varmap! (AtomicArrayDictSubstitutionWrapper (varmap), vars; limit = substitution_limit, allow_symbolic )
346346 if check && ! allow_symbolic
347347 missing_vars = missingvars (varmap, vars; toterm)
348348 for var in vars
@@ -496,13 +496,13 @@ Performs symbolic substitution on the values in `varmap` for the keys in `vars`,
496496`varmap` itself as the set of substitution rules. If an entry in `vars` is not a key
497497in `varmap`, it is ignored.
498498"""
499- function evaluate_varmap! (varmap:: AbstractDict{SymbolicT, SymbolicT} , vars; limit = 100 )
499+ function evaluate_varmap! (varmap:: AbstractDict{SymbolicT, SymbolicT} , vars; limit = 100 , allow_symbolic = false )
500500 for k in vars
501501 arr, _ = split_indexed_var (unwrap (k))
502502 v = get (varmap, arr, COMMON_NOTHING)
503503 v === COMMON_NOTHING && continue
504504 SU. isconst (v) && continue
505- varmap[arr] = fixpoint_sub (v, varmap; maxiters = limit, fold = Val (true ))
505+ varmap[arr] = fixpoint_sub (v, varmap; maxiters = limit, fold = Val (true ), warn_maxiters = ! allow_symbolic )
506506 end
507507 return
508508end
0 commit comments