Fix master CI: import OrdinaryDiffEqFunctionMap explicitly#604
Merged
ChrisRackauckas merged 2 commits intoMay 11, 2026
Merged
Conversation
After OrdinaryDiffEq v7's split, FunctionMap moved to the OrdinaryDiffEqFunctionMap sub-package and is no longer in scope from a bare `using OrdinaryDiffEq`. Add it to the relevant Project.toml [deps]/[compat]/[extras]/[targets] and to the `using` statements in the affected DataDrivenDMD tests and docs example. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Two pre-existing master failures uncovered after the OrdinaryDiffEq v7
and SciMLBase v3 migrations:
- docs build: example_04.jl (DMD, sparse) and example_02.jl (SR)
reference SciMLBase.NoSpecialize but `using DataDrivenDiffEq` only
imports SciMLBase as an internal binding, so it is not visible inside
the per-block module Documenter creates. Add an explicit
`using SciMLBase: NoSpecialize` to each example and to docs/Project.toml.
- DataDrivenSR test: SymbolicUtils v4 renamed `LiteralReal` to `SymReal`
and now requires `Sym{T}(name; type=...)`. Match the form produced by
DynamicExpressions' `node_to_symbolic` so the substitution dict in
`convert_to_basis` actually matches its keys.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After OrdinaryDiffEq v7's split into sub-packages,
FunctionMapmoved to theOrdinaryDiffEqFunctionMapsub-package and is no longer in scope from a bareusing OrdinaryDiffEq. The DataDrivenDMDnonlinear_autonomoustest (and several siblings + the docs example) referenceFunctionMapdirectly and crashed withUndefVarError: FunctionMap not defined.Added
OrdinaryDiffEqFunctionMapto:lib/DataDrivenDMD/Project.toml[deps]/[compat]/[extras]/[targets]docs/Project.toml[deps]/[compat]usinglines inlib/DataDrivenDMD/test/nonlinear_autonomous.jl,lib/DataDrivenDMD/test/nonlinear_forced.jl,docs/src/libs/datadrivendmd/example_01.jlAfter pushing the FunctionMap fix two more pre-existing master failures became visible; this PR addresses them too:
Docs build —
example_04.jl(DMD, sparse) andexample_02.jl(SR) referenceSciMLBase.NoSpecialize, butusing DataDrivenDiffEqonly importsSciMLBaseas an internal binding, not visible inside the per-block module Documenter creates. Added explicitusing SciMLBase: NoSpecializeto each example and todocs/Project.toml.DataDrivenSR test —
UndefVarError: LiteralReal not defined. SymbolicUtils v4 renamedLiteralRealtoSymRealand the constructor now requiresSym{T}(name; type=...). Updatedconvert_to_basisinlib/DataDrivenSR/src/DataDrivenSR.jlto match the form produced by DynamicExpressions'node_to_symbolic(Sym{SymReal}(:xN; type=Number)) so substitution actually hits. Verified locally:Pkg.test(DataDrivenSR)now passes (Simple/Univariate/Lifted testsets, 6 passing).Master CI on this repo has been red since the OrdinaryDiffEq v7 / SciMLBase v3 ecosystem bumps merged. This PR turns it green.
Ignore until reviewed by @ChrisRackauckas.