Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

Summary

  • Add JET.jl static analysis tests to the test suite
  • Tests validate type stability for key exported functions and algorithms
  • The package is already well-typed; these tests provide ongoing CI validation

Changes

  1. Added test/jet_tests.jl with @test_opt checks for:

    • GPU algorithm constructors (GPUTsit5, GPUVern7, GPUVern9, etc.)
    • SDE algorithm constructors (GPUEM, GPUSIEA)
    • Implicit algorithm constructors (GPURosenbrock23, GPURodas4, etc.)
    • Ensemble algorithm constructors (EnsembleCPUArray)
    • alg_order function type stability
    • diffeqgpunorm utility function type stability
  2. Added JET to test dependencies in test/Project.toml

  3. Added JET test testset to test/runtests.jl

JET Analysis Observations

The package already has excellent type annotations with extensive use of:

  • Type parameters on all integrator structs
  • Proper where clause constraints
  • Good abstract type hierarchies

JET's report about "Couldn't find a single matching method for the signature" for integrator constructors are not actual bugs - they're related to how JET interprets parametric struct constructors where IIP::Bool is resolved at construction time through the init functions rather than being passed directly.

Test plan

  • JET tests pass locally (19/19 tests pass)
  • CI passes on all platforms

cc @ChrisRackauckas

🤖 Generated with Claude Code

Add type stability tests using JET.jl to validate:
- GPU algorithm constructors (GPUTsit5, GPUVern7, GPUVern9, etc.)
- SDE algorithm constructors (GPUEM, GPUSIEA)
- Implicit algorithm constructors (GPURosenbrock23, GPURodas4, etc.)
- Ensemble algorithm constructors (EnsembleCPUArray)
- alg_order function type stability
- diffeqgpunorm utility function type stability

The package is already well-typed with extensive use of type parameters
and where clauses. These tests provide ongoing validation of type
stability for key entry points.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit 8683b2c into SciML:master Dec 30, 2025
8 of 25 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