From cad757e5d759e5b080e581fd7c604f98a6f9599f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20M=C3=BCller-Widmann?= Date: Sun, 11 Jan 2026 21:26:14 +0100 Subject: [PATCH] Support JET@0.11 in tests --- Project.toml | 2 +- src/pairwise.jl | 2 +- test/jet.jl | 33 +++++++++++++++++---------------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/Project.toml b/Project.toml index e03e66c65..5f006d3d9 100644 --- a/Project.toml +++ b/Project.toml @@ -21,7 +21,7 @@ StatsAPI = "82ae8749-77ed-4fe6-ae5f-f523153014b0" AliasTables = "1" DataAPI = "1" DataStructures = "0.10, 0.11, 0.12, 0.13, 0.14, 0.17, 0.18, 0.19" -JET = "0.9.18, 0.10" +JET = "0.9.18, 0.10, 0.11" LinearAlgebra = "<0.0.1, 1" LogExpFunctions = "0.3" Missings = "0.3, 0.4, 1.0" diff --git a/src/pairwise.jl b/src/pairwise.jl index c8023c6a2..876dd4c12 100644 --- a/src/pairwise.jl +++ b/src/pairwise.jl @@ -40,7 +40,7 @@ function check_vectors(x, y, skipmissing::Symbol) end end if m > 1 && n > 1 - indsx == indsy || + keys(first(x)) == keys(first(y)) || throw(ArgumentError("All input vectors must have the same indices")) end end diff --git a/test/jet.jl b/test/jet.jl index 78d06ebc7..6a8f01562 100644 --- a/test/jet.jl +++ b/test/jet.jl @@ -1,22 +1,23 @@ using StatsBase, Test import JET -# JET has only experimental support for Julia 1.12 currently -# It throws an internal `AssertionError` in the tests below -if VERSION < v"1.12-" - @testset "JET" begin - # Check that there are no undefined global references and undefined field accesses - JET.test_package("StatsBase"; target_defined_modules = true, mode = :typo) +@testset "JET" begin + # Check that there are no undefined global references and undefined field accesses + JET.test_package(StatsBase; target_modules = (StatsBase,), mode = :typo) - # Default error analysis for common problem fails since JET errors on interface definitions - # The (deprecated) `model_response(::StatisticalModel)` calls the interface - # function `response(::StatisticalModel)` for which no method exists yet - # Note: This analysis is not enough strict to guarantee that there are no runtime errors! - # Ref https://github.com/aviatesk/JET.jl/issues/495 - res = JET.report_package("StatsBase"; target_defined_modules = true, mode = :basic, toplevel_logger = nothing) - println(res) - reports = JET.get_reports(res) - @test_broken isempty(reports) - @test length(reports) <= 1 + # Default error analysis + # Note: This analysis is not enough strict to guarantee that there are no runtime errors! + kwargs = if isdefined(JET, :LastFrameModuleExact) # JET@0.11 + (; target_modules = (StatsBase,)) + else + (; target_defined_modules = true) end + # The (deprecated) `model_response(::StatisticalModel)` calls the interface + # function `response(::StatisticalModel)` for which no method exists yet + # Ref https://github.com/aviatesk/JET.jl/issues/495 + res = JET.report_package(StatsBase; kwargs..., mode = :basic, toplevel_logger = nothing) + println(res) + reports = JET.get_reports(res) + @test_broken isempty(reports) + @test length(reports) <= 1 end