Skip to content

Commit 558f970

Browse files
directly fix inference due to logger issues
1 parent 95390c0 commit 558f970

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

src/solve.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,19 @@ function solve_call(_prob,args...;merge_callbacks = true, kwargs...)
4747
kwargs = merge(values(_prob.kwargs), kwargs)
4848
end
4949

50+
T = Core.Compiler.return_type(__solve,Tuple{typeof(_prob),map(typeof, args)...})
51+
5052
progress = get(kwargs, :progress, false)
5153
if progress
5254
logger = default_logger(Logging.current_logger())
53-
maybe_with_logger(logger) do
55+
x = maybe_with_logger(logger) do
5456
__solve(_prob,args...; kwargs...)
5557
end
58+
return x::T
5659
else
57-
__solve(_prob,args...; kwargs...)
60+
__solve(_prob,args...; kwargs...)::T
5861
end
62+
5963
end
6064

6165
function solve(prob::DEProblem,args...;kwargs...)

test/downstream/inference.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using OrdinaryDiffEq, Test
2+
function lorenz(du,u,p,t)
3+
du[1] = 10.0(u[2]-u[1])
4+
du[2] = u[1]*(28.0-u[3]) - u[2]
5+
du[3] = u[1]*u[2] - (8/3)*u[3]
6+
end
7+
u0 = [1.0;0.0;0.0]
8+
tspan = (0.0,1.0)
9+
prob = ODEProblem(lorenz,u0,tspan)
10+
sol = solve(prob,Tsit5())
11+
@inferred solve(prob,Tsit5())

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ if !is_APPVEYOR && GROUP == "Downstream"
3838
@time @safetestset "Null Parameters" begin include("downstream/null_params_test.jl") end
3939
@time @safetestset "Ensemble Simulations" begin include("downstream/ensemble.jl") end
4040
@time @safetestset "Ensemble Analysis" begin include("downstream/ensemble_analysis.jl") end
41+
@time @safetestset "Inferece Tests" begin include("downstream/inference.jl") end
4142
@time @safetestset "Default linsolve with structure" begin include("downstream/default_linsolve_structure.jl") end
4243
@time @safetestset "Callback Merging Tests" begin include("downstream/callback_merging.jl") end
4344
@time @safetestset "LabelledArrays Tests" begin include("downstream/labelledarrays.jl") end

0 commit comments

Comments
 (0)