From 77631bcb2d809b108d2331cff74c9f876d83ae13 Mon Sep 17 00:00:00 2001 From: Niklas Hackelberg Date: Tue, 24 Feb 2026 11:41:11 +0100 Subject: [PATCH 1/5] Remove opEye type piracy --- src/LinearOperatorCollection.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/LinearOperatorCollection.jl b/src/LinearOperatorCollection.jl index 66c9cda..d0a6bb5 100644 --- a/src/LinearOperatorCollection.jl +++ b/src/LinearOperatorCollection.jl @@ -14,8 +14,6 @@ using Reexport @reexport using LinearOperators using OhMyThreads -LinearOperators.use_prod5!(op::opEye) = false -LinearOperators.has_args5(op::opEye) = false # Helper function to wrap a prod into a 5-args mul function wrapProd(prod::Function) From 7df214bb24aff77637371df021a532bfb12dd68b Mon Sep 17 00:00:00 2001 From: Niklas Hackelberg Date: Tue, 24 Feb 2026 11:49:51 +0100 Subject: [PATCH 2/5] Add Aqua tests --- Project.toml | 4 +++- test/runtests.jl | 1 + test/testAqua.jl | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 test/testAqua.jl diff --git a/Project.toml b/Project.toml index 87c76b0..dee0582 100644 --- a/Project.toml +++ b/Project.toml @@ -13,6 +13,7 @@ LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" [extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" NonuniformFFTs = "cd96f58b-6017-4a02-bb9e-f4d81626177f" @@ -22,6 +23,7 @@ FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" RadonKA = "86de8297-835b-47df-b249-c04e8db91db5" [compat] +Aqua = "0.8" julia = "1.9" GPUArrays = "11" KernelAbstractions = "0.9" @@ -47,7 +49,7 @@ FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" RadonKA = "86de8297-835b-47df-b249-c04e8db91db5" [targets] -test = ["Test", "FFTW", "Wavelets", "NFFT", "NonuniformFFTs", "JLArrays", "RadonKA"] +test = ["Test", "Aqua", "FFTW", "Wavelets", "NFFT", "NonuniformFFTs", "JLArrays", "RadonKA"] [extensions] LinearOperatorNFFTExt = ["AbstractNFFTs", "FFTW"] diff --git a/test/runtests.jl b/test/runtests.jl index a06671e..e1a3fc3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -14,6 +14,7 @@ areTypesDefined = @isdefined arrayTypes arrayTypes = areTypesDefined ? arrayTypes : [Array] #, JLArray] @testset "LinearOperatorCollection" begin + include("testAqua") include("testNormalOp.jl") include("testOperators.jl") end diff --git a/test/testAqua.jl b/test/testAqua.jl new file mode 100644 index 0000000..dc59bc7 --- /dev/null +++ b/test/testAqua.jl @@ -0,0 +1,2 @@ +using Aqua +Aqua.test_all(YourPackage) \ No newline at end of file From 591b261873765b4462372fb4b64464a32686f646 Mon Sep 17 00:00:00 2001 From: Niklas Hackelberg Date: Tue, 24 Feb 2026 11:53:12 +0100 Subject: [PATCH 3/5] Fix test include --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index e1a3fc3..fc57110 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -14,7 +14,7 @@ areTypesDefined = @isdefined arrayTypes arrayTypes = areTypesDefined ? arrayTypes : [Array] #, JLArray] @testset "LinearOperatorCollection" begin - include("testAqua") + include("testAqua.jl") include("testNormalOp.jl") include("testOperators.jl") end From 6654175d2823ca3c371bfe3170d8d11224a8b312 Mon Sep 17 00:00:00 2001 From: Niklas Hackelberg Date: Tue, 24 Feb 2026 12:06:10 +0100 Subject: [PATCH 4/5] Fix aqua test package name --- test/testAqua.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testAqua.jl b/test/testAqua.jl index dc59bc7..47c7ece 100644 --- a/test/testAqua.jl +++ b/test/testAqua.jl @@ -1,2 +1,2 @@ using Aqua -Aqua.test_all(YourPackage) \ No newline at end of file +Aqua.test_all(LinearOperatorCollection) \ No newline at end of file From 1c2ab697d2046238c82e6ed3e60438b19d3407d4 Mon Sep 17 00:00:00 2001 From: nHackel Date: Wed, 25 Feb 2026 08:40:41 +0100 Subject: [PATCH 5/5] Remove ProdOp ambig. and type piracy methods and added compat entries for stdlib --- Project.toml | 7 ++++++- src/ProdOp.jl | 4 ---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index dee0582..5cbf975 100644 --- a/Project.toml +++ b/Project.toml @@ -4,10 +4,10 @@ authors = ["Tobias Knopp and contributors"] version = "2.3.2" [deps] -InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" OhMyThreads = "67456a42-1dca-4109-a031-0a68de7e3ad5" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" @@ -26,16 +26,21 @@ RadonKA = "86de8297-835b-47df-b249-c04e8db91db5" Aqua = "0.8" julia = "1.9" GPUArrays = "11" +InteractiveUtils = "1" KernelAbstractions = "0.9" JLArrays = "0.2" AbstractNFFTs = "0.9" +LinearAlgebra = "1" LinearOperators = "2" OhMyThreads = "0.8" NonuniformFFTs = "0.9" NFFT = "0.14" RadonKA = "0.6" +Random = "1" Wavelets = "0.9, 0.10" Reexport = "1.0" +SparseArrays = "1" +Test = "1" FFTW = "1.0" [weakdeps] diff --git a/src/ProdOp.jl b/src/ProdOp.jl index e33f5c3..4902ccb 100644 --- a/src/ProdOp.jl +++ b/src/ProdOp.jl @@ -62,10 +62,6 @@ function Base.copy(S::ProdOp{T}) where T return ProdOp(A,B) end -Base.:*(::Type{<:ProdOp}, A, B) = ProdOp(A, B) -Base.:*(::Type{<:ProdOp}, A, args...) = ProdOp(A, *(ProdOp, args...)) -Base.:∘(A::AbstractLinearOperator, B::AbstractLinearOperator) = ProdOp(A, B) - storage_type(op::ProdOp) = typeof(op.Mv5) mutable struct ProdNormalOp{T,S,U,V <: AbstractVector{T}} <: AbstractLinearOperator{T}