Skip to content

Commit ec23072

Browse files
refactor: fix bad closure capture in System constructor
1 parent 2505b5d commit ec23072

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

lib/ModelingToolkitBase/src/systems/system.jl

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -480,14 +480,17 @@ function System(eqs::Vector{Equation}, iv, dvs, ps, brownians = SymbolicT[];
480480
filter!(!(Base.Fix1(===, COMMON_NOTHING) last), guesses)
481481

482482
if iv === nothing
483-
filter!(bindings) do kvp
484-
k = kvp[1]
485-
if k in all_dvs
486-
initial_conditions[k] = kvp[2]
487-
return false
483+
filterer = let initial_conditions = initial_conditions, all_dvs = all_dvs
484+
function _filterer(kvp)
485+
k = kvp[1]
486+
if k in all_dvs
487+
initial_conditions[k] = kvp[2]
488+
return false
489+
end
490+
return true
488491
end
489-
return true
490492
end
493+
filter!(filterer, bindings)
491494
end
492495

493496
check_bindings(ps, bindings)

0 commit comments

Comments
 (0)