Skip to content

Commit 4686652

Browse files
fix: error properly on missing parameter values
1 parent 22fb377 commit 4686652

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/systems/parameter_buffer.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ function MTKParameters(
139139
val = unwrap(val)
140140
ctype = symtype(sym)
141141
if symbolic_type(val) !== NotSymbolic()
142-
continue
142+
error("Could not evaluate value of parameter $sym. Missing values for variables in expression $val.")
143143
end
144144
val = symconvert(ctype, val)
145145
done = set_value(sym, val)

test/mtkparameters.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,3 +283,10 @@ VVDual = Vector{<:Vector{<:ForwardDiff.Dual}}
283283
@test_throws TypeError remake_buffer(sys, ps, Dict(e => Foo(2.0))) # need exact same type for nonnumeric
284284
@test_nowarn remake_buffer(sys, ps, Dict(f => Foo(:a)))
285285
end
286+
287+
@testset "Error on missing parameter defaults" begin
288+
@parameters a b c
289+
@named sys = ODESystem(Equation[], t, [], [a, b]; defaults = Dict(b => 2c))
290+
sys = complete(sys)
291+
@test_throws ["Could not evaluate", "b", "Missing", "2c"] MTKParameters(sys, [a => 1.0])
292+
end

0 commit comments

Comments
 (0)