Skip to content

Fix OrdinaryDiffEq 7.0.0 re-export breakage in tests#212

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-ode7-solver-imports
Jun 7, 2026
Merged

Fix OrdinaryDiffEq 7.0.0 re-export breakage in tests#212
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-ode7-solver-imports

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Ignore until reviewed by @ChrisRackauckas.

Problem

OrdinaryDiffEq 7.0.0 intentionally dropped its blanket solver re-exports (cutting deps 30 -> 6 for faster TTFS; see ODE NEWS.md). The documented downstream migration is to import non-default solvers from their sub-packages.

test/layers_tests.jl relied on two names that ODE7 no longer exports, so the file threw UndefVarError at load time under ODE7:

  • VCAB3() (line 14, in the SOLVERS tuple) — moved to OrdinaryDiffEqAdamsBashforthMoulton.
  • SciMLBase.AbstractODEAlgorithm (multiscale :node branch) — the bare SciMLBase module name is no longer re-exported by OrdinaryDiffEq.

Fix

  • test/layers_tests.jl: using OrdinaryDiffEqAdamsBashforthMoulton: VCAB3 and using SciMLBase: SciMLBase.
  • Project.toml: add OrdinaryDiffEqAdamsBashforthMoulton to [extras], the test target, and [compat] ("1, 2" so the package still resolves under both ODE6 and ODE7, keeping the downgrade workflow green).

Minimal change; no source files touched. Tsit5 (still exported by ODE7) and the other solvers in the tuple were unaffected.

Verification

Ran the full CPU suite locally on Julia 1.10 at latest deps (resolved OrdinaryDiffEq v7.0.0):

Test Summary: | Pass  Total   Time
Utils Tests   |   13     13  51.3s
Test Summary: | Pass  Total      Time
Layers Tests  | 1538   1538  22m20.7s
     Testing DeepEquilibriumNetworks tests passed

Confirmed the UndefVarError reproduces on unmodified main at the same deps and is gone with this fix.

🤖 Generated with Claude Code

OrdinaryDiffEq 7.0.0 dropped its blanket solver re-exports (deps 30->6 for
faster TTFS). VCAB3 now lives in OrdinaryDiffEqAdamsBashforthMoulton and is no
longer exported by OrdinaryDiffEq, and the bare SciMLBase module name is no
longer re-exported either. test/layers_tests.jl used both (VCAB3 in the SOLVERS
tuple, SciMLBase.AbstractODEAlgorithm in the multiscale node branch), so loading
the file threw UndefVarError under ODE7.

Import VCAB3 from OrdinaryDiffEqAdamsBashforthMoulton and bring the SciMLBase
module name into scope explicitly. Add OrdinaryDiffEqAdamsBashforthMoulton to the
test deps ([extras] + test target + [compat] "1, 2" to keep ODE6 downgrade
resolvable).

Verified locally on Julia 1.10 at latest deps (OrdinaryDiffEq v7.0.0):
Utils Tests 13/13, Layers Tests 1538/1538 passed.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 7, 2026 19:16
@ChrisRackauckas ChrisRackauckas merged commit 867266a into SciML:main Jun 7, 2026
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants