Rodas4 using dual number for time with autodiff=false

When the right hand side function has a time dependence, Rodas4 gives dual number method errors, when other solvers (e.g. QBDF) do not. I thought that autodiff was the use-case for dual numbers, but Rodas4 uses dual numbers for time even with autodiff=false? Example code:

using DifferentialEquations

u = [0.0, 0.0]

function du(u,p,t)
    #display(typeof(t))
    du = zeros(2)
    du[1] = 0.1*u[1] + 0.2*u[2]
    du[2] = 0.1*t
    return du
end

prob = ODEProblem(du,u,(0.0,1.0))

#No error:
sol = solve(prob,QBDF(autodiff=false))

#Dual number error:
sol = solve(prob,Rodas4(autodiff=false))

Yeah I ran into this yesterday when writing tests for the checkpointed sensitivity analysis fix. It seems like it’s just with Rodas4 and Rodas3 and only in the OOP form, but I added a bigger test suite to make sure we covered this better. The PR fix is here:

that should merge in an hour or so since it’s quite simple.

Thanks a lot, very helpful!