Skip to content

Commit ccd2543

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
committed
Add DiffEqDevTools path source to all sublibraries; fix verbose inference test (#3449)
Every sublibrary test target lists DiffEqDevTools in [extras]. On v7 all sublibraries path-source packages that pin RecursiveArrayTools v4 (via SciMLBase v3), but every registered DiffEqDevTools version restricts RAT to < 4. This makes the test env unsatisfiable: Unsatisfiable requirements detected for package DiffEqDevTools: restricted by compatibility requirements with RecursiveArrayTools to versions: uninstalled — no versions left Add `DiffEqDevTools = {path = "../DiffEqDevTools"}` to [sources] in all 38 sublibraries that have it in [extras]. The local lib/DiffEqDevTools already declares RAT 4 and SciMLBase 3, so path-sourcing unblocks the resolve. This unblocks ~80 sublibrary test jobs on v7 CI. Also update lib/DiffEqBase/test/verbose_inference.jl: the test assumed `_process_verbose_param(::Bool)` returns DEVerbosity (the constprop conversion from c2de709), but v7 now throws ArgumentError on Bool (f73c2f5). Update the test to assert the throw and test the DEVerbosity / preset paths instead. Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4be2653 commit ccd2543

36 files changed

Lines changed: 45 additions & 13 deletions

File tree

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
using DiffEqBase, Test
22

3-
# Verify that the Bool path of `_process_verbose_param` is type-stable when
4-
# the Bool is a compile-time literal (the default `verbose = true` case from
5-
# `solve`/`init`). Without `Base.@constprop :aggressive`, both branches return
6-
# different concrete `DEVerbosity{...}` parameterizations and the result is a
7-
# `Union{...}` that poisons inference all the way through `solve`.
3+
# Verify that the DEVerbosity paths of `_process_verbose_param` are type-stable
4+
# and that passing a Bool throws (v7 breaking change).
85

96
@testset "_process_verbose_param inference" begin
10-
# Val-dispatch is unconditionally type-stable.
11-
@inferred DiffEqBase._process_verbose_param(Val(true))
12-
@inferred DiffEqBase._process_verbose_param(Val(false))
7+
# DEVerbosity passthrough is type-stable.
8+
@inferred DiffEqBase._process_verbose_param(DiffEqBase.DEFAULT_VERBOSE)
139

14-
# Constprop on literal Bool resolves to a single concrete type.
15-
f_true() = DiffEqBase._process_verbose_param(true)
16-
f_false() = DiffEqBase._process_verbose_param(false)
17-
@test Base.return_types(f_true, ())[1] === typeof(DiffEqBase.DEFAULT_VERBOSE)
18-
@test Base.return_types(f_false, ())[1] === typeof(DiffEqBase.NONE_VERBOSE)
10+
# Preset dispatch is type-stable.
11+
@inferred DiffEqBase._process_verbose_param(DiffEqBase.SciMLLogging.Standard())
12+
13+
# Bool is no longer accepted — throws ArgumentError.
14+
@test_throws ArgumentError DiffEqBase._process_verbose_param(true)
15+
@test_throws ArgumentError DiffEqBase._process_verbose_param(false)
1916
end

lib/OrdinaryDiffEqAdamsBashforthMoulton/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
2323

2424
[sources]
2525
DiffEqBase = {path = "../DiffEqBase"}
26+
DiffEqDevTools = {path = "../DiffEqDevTools"}
2627

2728
[compat]
2829
Pkg = "1"

lib/OrdinaryDiffEqBDF/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
3838

3939
[sources]
4040
DiffEqBase = {path = "../DiffEqBase"}
41+
DiffEqDevTools = {path = "../DiffEqDevTools"}
4142

4243
[compat]
4344
Pkg = "1"

lib/OrdinaryDiffEqCore/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
4343

4444
[sources]
4545
DiffEqBase = {path = "../DiffEqBase"}
46+
DiffEqDevTools = {path = "../DiffEqDevTools"}
4647

4748
[compat]
4849
SafeTestsets = "0.1.0"

lib/OrdinaryDiffEqDefault/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
3030

3131
[sources]
3232
DiffEqBase = {path = "../DiffEqBase"}
33+
DiffEqDevTools = {path = "../DiffEqDevTools"}
3334

3435
[compat]
3536
Pkg = "1"

lib/OrdinaryDiffEqDifferentiation/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ test = ["DiffEqDevTools", "OrdinaryDiffEqBDF", "OrdinaryDiffEqRosenbrock", "Ordi
88

99
[sources]
1010
DiffEqBase = {path = "../DiffEqBase"}
11+
DiffEqDevTools = {path = "../DiffEqDevTools"}
1112

1213
[compat]
1314
Pkg = "1"

lib/OrdinaryDiffEqExplicitRK/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
2323

2424
[sources]
2525
DiffEqBase = {path = "../DiffEqBase"}
26+
DiffEqDevTools = {path = "../DiffEqDevTools"}
2627

2728
[compat]
2829
Pkg = "1"

lib/OrdinaryDiffEqExponentialRK/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
3030

3131
[sources]
3232
DiffEqBase = {path = "../DiffEqBase"}
33+
DiffEqDevTools = {path = "../DiffEqDevTools"}
3334

3435
[compat]
3536
Pkg = "1"

lib/OrdinaryDiffEqExtrapolation/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
2626

2727
[sources]
2828
DiffEqBase = {path = "../DiffEqBase"}
29+
DiffEqDevTools = {path = "../DiffEqDevTools"}
2930

3031
[compat]
3132
Pkg = "1"

lib/OrdinaryDiffEqFIRK/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
3131

3232
[sources]
3333
DiffEqBase = {path = "../DiffEqBase"}
34+
DiffEqDevTools = {path = "../DiffEqDevTools"}
3435

3536
[compat]
3637
Pkg = "1"

0 commit comments

Comments
 (0)