diff --git a/src/remake.jl b/src/remake.jl index 2008ece21..ca62081a2 100644 --- a/src/remake.jl +++ b/src/remake.jl @@ -986,6 +986,7 @@ function fill_vars( end for (k, v) in varmap haskey(sym_to_idx, k) && continue + v === nothing && continue newvals[k] = v end return newvals diff --git a/test/downstream/modelingtoolkit_remake.jl b/test/downstream/modelingtoolkit_remake.jl index 75c5965dd..ed0da7d2c 100644 --- a/test/downstream/modelingtoolkit_remake.jl +++ b/test/downstream/modelingtoolkit_remake.jl @@ -397,3 +397,12 @@ end # old value retained @test prob2.ps[Gamma] ≈ 3.0 end + +@testset "`nothing` value for variable specified as `Symbol`" begin + @variables x(t) [guess = 1.0] y(t) [guess = 1.0] + @parameters p [guess = 1.0] q [guess = 1.0] + @mtkbuild sys = ODESystem( + [D(x) ~ p * x + q * y, y ~ 2x], t; parameter_dependencies = [q ~ 2p]) + prob = ODEProblem(sys, [:x => 1.0], (0.0, 1.0), [p => 1.0]) + @test_nowarn remake(prob; u0 = [:y => 1.0, :x => nothing]) +end