Import SciMLBase directly in module-qualified tests#1514
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Import SciMLBase directly in module-qualified tests#1514ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
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.
Summary
SciMLBasedirectly in every test file that uses a module-qualifiedSciMLBase.referenceSciMLBasemodule binding in each isolatedSafeTestsetsimulate_ODEs.jlis the currently failing case and the other seven imports are preventive hygieneThis PR targets
masterdirectly and is independent of #1511 and #1512.Root cause
Catalyst's ODE test has called
SciMLBase.successful_retcodesince Catalyst commit4e617286without importingSciMLBasein that file. Historically,using OrdinaryDiffEqmade the module binding available transitively.OrdinaryDiffEq commit
69e8dda5(parentb4bae612) stripped the v7 package down to its minimal re-export shell. With the Catalyst minimum-compatible graph at OrdinaryDiffEq 7.0.0,using OrdinaryDiffEqno longer places aSciMLBasemodule binding in the test module. The first module-qualified check therefore raisedUndefVarError: SciMLBase not defined.Validation
Exact minimum-compatible graph on Julia 1.10.11: OrdinaryDiffEq 7.0.0, SciMLBase 3.18.0, DiffEqBase 7.2.0, ModelingToolkitBase 1.46.0, and JumpProcesses 9.26.0.
master,GROUP=Simulation: ODE simulations had 87 passes and 132 errors (219 total), all from the missingSciMLBasebindingGROUP=Simulation: ODE 219/219, automatic Jacobian 224/224, and SDE 195/195GROUP=Hybrid: 4,218/4,218GROUP=Spatial: all testsets passed, including affected ODE discrete-space tests 502/502 and jump discrete-space tests 206/206SciMLBase., and all eight now importSciMLBasedirectlygit diff --checkpassesTwo unrelated failures on the unmodified exact-minimum graph stop the complete Modeling and Simulation groups after the affected import paths have been validated:
VectorContinuousCallbackhas noaffect_neg!SSAIntegratorhas noderivative_discontinuityThose callback compatibility boundaries are being reproduced and bisected separately rather than folded into this import-only PR.
Runic checked all 89 Julia files: 15 already conform and 74 have broad pre-existing formatting drift. The eight import additions themselves require no formatting adjustment, so this PR does not mix in repository-wide reformatting.