diff --git a/src/blockarray.jl b/src/blockarray.jl index 01300879..98ff70b5 100644 --- a/src/blockarray.jl +++ b/src/blockarray.jl @@ -310,7 +310,7 @@ convert(::Type{BlockArray{T}}, A::BlockArray{T}) where {T} = A convert(::Type{BlockArray}, A::BlockArray) = A BlockArray{T, N}(A::AbstractArray{T2, N}) where {T,T2,N} = - BlockArray(Array{T, N}(A), axes(A)) + copyto!(BlockArray{T, N}(undef, axes(A)), A) BlockArray{T1}(A::AbstractArray{T2, N}) where {T1,T2,N} = BlockArray{T1, N}(A) BlockArray(A::AbstractArray{T, N}) where {T,N} = BlockArray{T, N}(A) diff --git a/src/pseudo_blockarray.jl b/src/pseudo_blockarray.jl index 5b43e36d..6277ece2 100644 --- a/src/pseudo_blockarray.jl +++ b/src/pseudo_blockarray.jl @@ -130,7 +130,7 @@ convert(::Type{AbstractArray}, A::PseudoBlockArray) = A PseudoBlockArray{T, N}(A::AbstractArray{T2, N}) where {T,T2,N} = - PseudoBlockArray(Array{T, N}(A), axes(A)) + copyto!(PseudoBlockArray{T,N}(undef, axes(A)), A) PseudoBlockArray{T1}(A::AbstractArray{T2, N}) where {T1,T2,N} = PseudoBlockArray{T1, N}(A) PseudoBlockArray(A::AbstractArray{T, N}) where {T,N} = PseudoBlockArray{T, N}(A)