From c46d4fec7efee8da7f4f4d6a32c24c190e9e663d Mon Sep 17 00:00:00 2001 From: Lukas Devos Date: Fri, 6 Feb 2026 15:23:21 -0500 Subject: [PATCH 1/2] add `storagetype` to type domain --- src/tensors/abstracttensor.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tensors/abstracttensor.jl b/src/tensors/abstracttensor.jl index 823280e07..7f068369a 100644 --- a/src/tensors/abstracttensor.jl +++ b/src/tensors/abstracttensor.jl @@ -224,7 +224,8 @@ end # tensor characteristics: work on instances and pass to type #------------------------------------------------------------ InnerProductStyle(t::AbstractTensorMap) = InnerProductStyle(typeof(t)) -storagetype(t::AbstractTensorMap) = storagetype(typeof(t)) +storagetype(t) = storagetype(typeof(t)) +storagetype(T::Type) = throw(MethodError(storagetype, T)) blocktype(t::AbstractTensorMap) = blocktype(typeof(t)) numout(t::AbstractTensorMap) = numout(typeof(t)) From 171721021949267f5fbd4a41c5277dd131da184c Mon Sep 17 00:00:00 2001 From: Lukas Devos Date: Fri, 6 Feb 2026 15:23:27 -0500 Subject: [PATCH 2/2] add missing `similar` definition --- src/tensors/sectorvector.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tensors/sectorvector.jl b/src/tensors/sectorvector.jl index 8f133b20e..70719f55f 100644 --- a/src/tensors/sectorvector.jl +++ b/src/tensors/sectorvector.jl @@ -37,6 +37,7 @@ Base.size(v::SectorVector, args...) = size(parent(v), args...) Base.similar(v::SectorVector) = SectorVector(similar(v.data), v.structure) Base.similar(v::SectorVector, ::Type{T}) where {T} = SectorVector(similar(v.data, T), v.structure) Base.similar(v::SectorVector, V::ElementarySpace) = SectorVector{eltype(v), sectortype(V), storagetype(v)}(undef, V) +Base.similar(v::SectorVector, ::Type{T}, V::ElementarySpace) where {T} = SectorVector(similar(v.data, T, reduceddim(V)), V) Base.copy(v::SectorVector) = SectorVector(copy(v.data), v.structure)