From d6438fe45ff27e6860cebc70b3f931e5915fefda Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 15 Jun 2026 10:45:22 -0400 Subject: [PATCH] Raise ArrayInterface compat floor to 7.1 The downgrade CI pins ArrayInterface to its compat floor (7.0.0). At 7.0.0, `ArrayInterface.fast_scalar_indexing(::JLArray)` returns `true` because the GPUArraysCore-aware definition that correctly reports `false` for GPU-backed arrays was only added in ArrayInterface 7.1.0. As a result the `_require_fast_scalar_indexing` guard never fires on the downgrade floor: the package proceeds to scalar-index the GPU array and GPUArrays throws a plain `ErrorException` ("Scalar indexing is disallowed.") instead of the package's intended `ArgumentError`. This breaks the `JLArray error messages` testset, which asserts an `ArgumentError` mentioning "fast scalar indexing" / "GPU arrays". The package's documented behavior (rejecting GPU arrays with a clear `ArgumentError`) only holds from ArrayInterface 7.1.0 onward, so 7.1 is the correct minimum bound. Verified locally on Julia 1.10.11: with ArrayInterface 7.1.0 + JLArrays 0.1.1 (the downgrade floor for JLArrays), all 8 assertions in the "JLArray error messages" testset pass; at 7.0.0 they fail exactly as in CI. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index c3a437d..d98afbd 100644 --- a/Project.toml +++ b/Project.toml @@ -25,7 +25,7 @@ ToeplitzMatricesExt = "ToeplitzMatrices" [compat] AllocCheck = "0.2" -ArrayInterface = "7" +ArrayInterface = "7.1" BandedMatrices = "1.10.2" BenchmarkTools = "1" BlockBandedMatrices = "0.13.4"