diff --git a/Project.toml b/Project.toml index fbc4c36..7e67de8 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ADTypes" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" authors = ["Vaibhav Dixit , Guillaume Dalle and contributors"] -version = "1.22.1" +version = "1.22.2" [weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" @@ -18,7 +18,7 @@ ChainRulesCore = "1.0.2" ConstructionBase = "1.5" EnzymeCore = "0.5.3,0.6,0.7,0.8" SafeTestsets = "0.1, 1" -SciMLTesting = "1" +SciMLTesting = "1.5" julia = "1.10" [extras] diff --git a/ext/ADTypesChainRulesCoreExt.jl b/ext/ADTypesChainRulesCoreExt.jl index 7622742..8b67aa5 100644 --- a/ext/ADTypesChainRulesCoreExt.jl +++ b/ext/ADTypesChainRulesCoreExt.jl @@ -2,7 +2,6 @@ module ADTypesChainRulesCoreExt using ADTypes: ADTypes, AutoChainRules using ChainRulesCore: HasForwardsMode, HasReverseMode, - NoForwardsMode, NoReverseMode, RuleConfig # see https://juliadiff.org/ChainRulesCore.jl/stable/rule_author/superpowers/ruleconfig.html diff --git a/src/compat.jl b/src/compat.jl index 472ee09..4e49aac 100644 --- a/src/compat.jl +++ b/src/compat.jl @@ -3,7 +3,7 @@ macro public(ex) return if VERSION >= v"1.11.0-DEV.469" args = ex isa Symbol ? (ex,) : - Base.isexpr(ex, :tuple) ? ex.args : error("Failed to mark $ex as public") + Base.Meta.isexpr(ex, :tuple) ? ex.args : error("Failed to mark $ex as public") esc(Expr(:public, args...)) else nothing diff --git a/test/qa/Project.toml b/test/qa/Project.toml index b5e6ab2..6d692fc 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -14,6 +14,6 @@ ADTypes = "1" Aqua = "0.8" JET = "0.9, 0.10, 0.11" SafeTestsets = "0.1, 1" -SciMLTesting = "1" +SciMLTesting = "1.5" Test = "1" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index 47c902d..bcf56e3 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,12 +1,25 @@ -using ADTypes -using Aqua: Aqua -using JET: JET -using Test +using SciMLTesting, ADTypes, Test +using JET -@testset "Aqua.jl" begin - Aqua.test_all(ADTypes; deps_compat = (check_extras = false,)) -end - -@testset "JET.jl" begin - JET.test_package(ADTypes, target_defined_modules = true) -end +# Aqua and ExplicitImports are SciMLTesting deps, so they are not imported here. +# Aqua is still listed in this env's `[deps]` (not ExplicitImports): Aqua's ambiguity +# check spawns a worker subprocess that runs a bare `using Aqua` against the active +# project, which only resolves if Aqua is a *direct* dep — a transitive (manifest-only) +# Aqua makes that worker error with "Package Aqua not found in current path". +run_qa( + ADTypes; + aqua_kwargs = (; deps_compat = (; check_extras = false)), + jet_kwargs = (; target_defined_modules = true), + explicit_imports = true, + # Two unavoidable non-public `Base` names, ignored only in the public-API access + # check (every other ExplicitImports check passes unignored): + # * `broadcastable` — the documented broadcasting customization hook; + # `Base.broadcastable(ad::AbstractADType) = Ref(ad)` makes AD choices broadcast + # as scalars. `Base` marks it non-public on every Julia version. + # * `depwarn` — `Base.depwarn` is the only way to emit a deprecation warning, and + # it is non-public on the LTS (1.10). It became public in Base on 1.11+, where + # ignoring it is a harmless no-op. + # (`Base.Meta.isexpr` in src/compat.jl was switched off `Base.isexpr` so its access + # resolves to the public `Base.Meta` owner and needs no ignore on any version.) + ei_kwargs = (; all_qualified_accesses_are_public = (; ignore = (:broadcastable, :depwarn))), +)