From e644713eafadafb8eafd93ede82ff3c651877335 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Mon, 21 Jul 2025 17:45:57 -0400 Subject: [PATCH] Minimize ambiguities for similar --- Project.toml | 2 +- src/abstractsparsearray.jl | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index f09f650..b89bf38 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SparseArraysBase" uuid = "0d5efcca-f356-4864-8770-e1ed8d78f208" authors = ["ITensor developers and contributors"] -version = "0.7.1" +version = "0.7.2" [deps] Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" diff --git a/src/abstractsparsearray.jl b/src/abstractsparsearray.jl index 71e3088..1c0af04 100644 --- a/src/abstractsparsearray.jl +++ b/src/abstractsparsearray.jl @@ -27,20 +27,24 @@ end function Base.similar(a::AnyAbstractSparseArray, ax::Tuple) return similar(a, Unstored(unstoredsimilar(unstored(a), ax))) end -function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple) + +function similar_sparsearray(a::AbstractArray, T::Type, ax::Tuple) return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) end -# Fix ambiguity error. -function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple{Int,Vararg{Int}}) - return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) +function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple{Vararg{Int}}) + return similar_sparsearray(a, T, ax) +end +function Base.similar( + a::AnyAbstractSparseArray, T::Type, ax::Tuple{Integer,Vararg{Integer}} +) + return similar_sparsearray(a, T, ax) end -# Fix ambiguity error. function Base.similar( a::AnyAbstractSparseArray, T::Type, ax::Tuple{Union{Integer,Base.OneTo},Vararg{Union{Integer,Base.OneTo}}}, ) - return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) + return similar_sparsearray(a, T, ax) end using DerivableInterfaces: @derive