-
-
Notifications
You must be signed in to change notification settings - Fork 238
Update JET compat to support v0.11 for Julia 1.12+ #2907
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ChrisRackauckas-Claude
wants to merge
3
commits into
SciML:master
Choose a base branch
from
ChrisRackauckas-Claude:fix-jet-compat-v1.12
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Update JET compat to support v0.11 for Julia 1.12+ #2907
ChrisRackauckas-Claude
wants to merge
3
commits into
SciML:master
from
ChrisRackauckas-Claude:fix-jet-compat-v1.12
+34
−34
Conversation
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
Updated JET compatibility constraints in 33 subpackage Project.toml files to include JET v0.11, which is required for Julia 1.12+ support. ## Background JET.jl version compatibility: - v0.9.x: Supports Julia 1.10 and 1.11 - v0.10.x: Supports Julia 1.12 only (not 1.11) - v0.11.x: Latest version, supports Julia 1.12+ The previous compat constraint `JET = "0.9.18, 0.10.4"` allowed: - JET v0.9.18+ for Julia 1.10/1.11 - JET v0.10.4+ for Julia 1.12 However, JET v0.10.x does not support Julia 1.11, and v0.11 is the latest stable release. This update adds v0.11 to the compat constraint to ensure proper JET support across all Julia versions. ## Changes Updated compat from: ```toml JET = "0.9.18, 0.10.4" ``` To: ```toml JET = "0.9.18, 0.10.4, 0.11" ``` This allows Julia's package manager to select: - JET v0.9.18+ on Julia 1.10/1.11 - JET v0.10.4+ or v0.11+ on Julia 1.12+ ## Modified Packages (33 total) All lib/* subpackages with JET test dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Fixed JET typo detection error where `u0` was used before being defined in the initialization failure path. ## Problem JET detected: ``` ┌ @ SimpleImplicitDiscreteSolve .../SimpleImplicitDiscreteSolve.jl:39 │ local variable `u0` is not defined: u0 ``` In the `solve` function, when initialization fails (`initfail == true`), the code was trying to use `u0` on line 39, but `u0` is only defined later on line 44 as `u0 = initsol.u`. ## Solution Changed line 39 from: ```julia sol = SciMLBase.build_solution(prob, alg, prob.tspan[1], u0, k = nothing, ``` To: ```julia sol = SciMLBase.build_solution(prob, alg, prob.tspan[1], prob.u0, k = nothing, ``` This uses `prob.u0` directly, which is always available from the problem definition, instead of the undefined local variable `u0`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Author
Additional FixAdded a commit to fix a JET typo detection error in IssueJET detected an undefined variable ┌ @ SimpleImplicitDiscreteSolve .../SimpleImplicitDiscreteSolve.jl:39
│ local variable `u0` is not defined: u0Root CauseIn the initialization failure path, the code was using (initsol, initfail) = SciMLBase.__init(prob, alg; dt)
if initfail
sol = SciMLBase.build_solution(prob, alg, prob.tspan[1], u0, k = nothing, # ERROR: u0 not defined yet!
stats = nothing, calculate_error = false)
return SciMLBase.solution_new_retcode(sol, ReturnCode.InitialFailure)
end
u0 = initsol.u # u0 defined here, but too late for the above codeFixChanged to use sol = SciMLBase.build_solution(prob, alg, prob.tspan[1], prob.u0, k = nothing,This PR now includes:
|
Simplified JET compat constraints to only allow v0.11, dropping support for older versions (v0.9.18 and v0.10.4). Updated all 33 subpackage Project.toml files: - Before: JET = "0.9.18, 0.10.4, 0.11" - After: JET = "0.11" JET v0.11 is the latest version and provides the best compatibility with Julia 1.12+. Dropping older versions simplifies maintenance and ensures all packages use the same JET version. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Author
Simplified JET CompatDropped older JET versions from compat constraints to only use v0.11. ChangeUpdated all 33 Project.toml files: # Before
JET = "0.9.18, 0.10.4, 0.11"
# After
JET = "0.11"Rationale
This PR now includes:
|
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
This PR fixes JET test failures on Julia 1.12 by updating the JET compatibility constraints to include JET v0.11, which is required for Julia 1.12+ support.
Problem
JET tests were failing on Julia 1.12 prerelease because the compat constraints only allowed JET v0.9.18 and v0.10.4. However:
The package resolver couldn't find a compatible JET version for all Julia versions.
Solution
Updated JET compat constraints in 33 subpackage Project.toml files from:
To:
This allows Julia's package manager to automatically select:
Modified Packages (33 total)
All lib/* subpackages with JET test dependencies:
Testing
After this change:
🤖 Generated with Claude Code