diff --git a/src/FastAlmostBandedMatrices.jl b/src/FastAlmostBandedMatrices.jl index c95da27..ae40b6e 100644 --- a/src/FastAlmostBandedMatrices.jl +++ b/src/FastAlmostBandedMatrices.jl @@ -5,12 +5,12 @@ import PrecompileTools: @setup_workload, @compile_workload using ArrayInterface, ArrayLayouts, BandedMatrices, ConcreteStructs, LazyArrays, LinearAlgebra, MatrixFactorizations, Reexport -import ArrayLayouts: MemoryLayout, sublayout, sub_materialize, MatLdivVec, materialize!, - triangularlayout, triangulardata, zero!, _copyto!, colsupport, - rowsupport, _qr, _qr!, _factorize, muladd! -import BandedMatrices: _banded_qr!, bandeddata, banded_qr_lmul! +import ArrayLayouts: MemoryLayout, sublayout, MatLdivVec, materialize!, + triangularlayout, triangulardata, colsupport, + rowsupport, _qr, _qr!, _factorize, muladd!, QRPackedQLayout, AdjQRPackedQLayout +import BandedMatrices: _banded_qr!, banded_qr_lmul! import LinearAlgebra: ldiv! -import MatrixFactorizations: QR, QRPackedQ, getQ, getR, QRPackedQLayout, AdjQRPackedQLayout +import MatrixFactorizations: QR, QRPackedQ, getQ, getR @reexport using BandedMatrices diff --git a/test/qa/Project.toml b/test/qa/Project.toml index 2a1aa09..87c6b1d 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -1,5 +1,4 @@ [deps] -Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e" SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" @@ -9,8 +8,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" FastAlmostBandedMatrices = {path = "../.."} [compat] -Aqua = "0.8.14" SafeTestsets = "0.0.1, 0.1" -SciMLTesting = "1" +SciMLTesting = "1.6" Test = "1" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index e5ab767..3184110 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,5 +1,38 @@ -using Aqua, FastAlmostBandedMatrices, Test +using SciMLTesting, FastAlmostBandedMatrices, Test -@testset "Aqua Q/A" begin - Aqua.test_all(FastAlmostBandedMatrices; ambiguities = false) -end +run_qa( + FastAlmostBandedMatrices; + explicit_imports = true, + # 19 method ambiguities, all in FastAlmostBandedMatrices' own ldiv!/__arguments + # against ArrayLayouts/LinearAlgebra Triangular/Factorization methods. + # https://github.com/SciML/FastAlmostBandedMatrices.jl/issues/71 + aqua_broken = (:ambiguities,), + ei_kwargs = (; + # Non-public names this package legitimately extends/uses from upstream: + # ArrayLayouts MatLdivVec/sublayout/triangulardata/triangularlayout/_qr/_qr!/ + # _factorize/QRPackedQLayout/AdjQRPackedQLayout, MatrixFactorizations + # QR/QRPackedQ/getQ/getR, BandedMatrices _banded_qr!/banded_qr_lmul!. + all_explicit_imports_are_public = (; + ignore = ( + :MatLdivVec, :sublayout, :triangulardata, :triangularlayout, + :_qr, :_qr!, :_factorize, :QRPackedQLayout, :AdjQRPackedQLayout, + :QR, :QRPackedQ, :getQ, :getR, + :_banded_qr!, :banded_qr_lmul!, + ), + ), + # Qualified accesses of non-public names: Base OneTo/array_summary/dims2string/ + # inds2string/materialize!, LinearAlgebra QRPackedQ, LazyArrays arguments, + # ArrayInterface fast_scalar_indexing/qr_instance. + all_qualified_accesses_are_public = (; + ignore = ( + :OneTo, :array_summary, :dims2string, :inds2string, :materialize!, + :QRPackedQ, :arguments, :fast_scalar_indexing, :qr_instance, + ), + ), + ), + # 31 names implicitly imported via the package's `using ArrayInterface, ArrayLayouts, + # BandedMatrices, ConcreteStructs, LazyArrays, LinearAlgebra, ...` plus + # `@reexport using BandedMatrices`; explicit-import conversion tracked separately. + # https://github.com/SciML/FastAlmostBandedMatrices.jl/issues/71 + ei_broken = (:no_implicit_imports,), +)