@@ -29,8 +29,8 @@ const AnyAbstractBlockSparseVecOrMat{T,N} = Union{
2929 AnyAbstractBlockSparseVector{T},AnyAbstractBlockSparseMatrix{T}
3030}
3131
32- function DerivableInterfaces. interface (:: Type{<:AnyAbstractBlockSparseArray} )
33- return BlockSparseArrayInterface ()
32+ function DerivableInterfaces. interface (arrayt :: Type{<:AnyAbstractBlockSparseArray} )
33+ return BlockSparseArrayInterface (interface ( blocktype (arrayt)) )
3434end
3535
3636# a[1:2, 1:2]
8888
8989# BlockArrays `AbstractBlockArray` interface
9090function BlockArrays. blocks (a:: AnyAbstractBlockSparseArray )
91- @interface BlockSparseArrayInterface ( ) blocks (a)
91+ @interface interface (a ) blocks (a)
9292end
9393
9494# Fix ambiguity error with `BlockArrays`
@@ -284,7 +284,7 @@ function Base.similar(
284284 elt:: Type ,
285285 axes:: Tuple{Vararg{AbstractUnitRange{<:Integer}}} ,
286286)
287- return @interface BlockSparseArrayInterface ( ) similar (arraytype, elt, axes)
287+ return @interface interface (arraytype ) similar (arraytype, elt, axes)
288288end
289289
290290# TODO : Define a `@interface BlockSparseArrayInterface() similar` function.
@@ -311,8 +311,7 @@ function Base.similar(
311311 AbstractBlockedUnitRange{<: Integer },Vararg{AbstractBlockedUnitRange{<: Integer }}
312312 },
313313)
314- # TODO : Use `@interface interface(a) similar(...)`.
315- return @interface BlockSparseArrayInterface () similar (a, elt, axes)
314+ return @interface interface (a) similar (a, elt, axes)
316315end
317316
318317# Fixes ambiguity error with `OffsetArrays`.
@@ -321,8 +320,7 @@ function Base.similar(
321320 elt:: Type ,
322321 axes:: Tuple{AbstractUnitRange{<:Integer},Vararg{AbstractUnitRange{<:Integer}}} ,
323322)
324- # TODO : Use `@interface interface(a) similar(...)`.
325- return @interface BlockSparseArrayInterface () similar (a, elt, axes)
323+ return @interface interface (a) similar (a, elt, axes)
326324end
327325
328326# Fixes ambiguity error with `BlockArrays`.
@@ -331,8 +329,7 @@ function Base.similar(
331329 elt:: Type ,
332330 axes:: Tuple{AbstractBlockedUnitRange{<:Integer},Vararg{AbstractUnitRange{<:Integer}}} ,
333331)
334- # TODO : Use `@interface interface(a) similar(...)`.
335- return @interface BlockSparseArrayInterface () similar (a, elt, axes)
332+ return @interface interface (a) similar (a, elt, axes)
336333end
337334
338335# Fixes ambiguity errors with BlockArrays.
@@ -345,16 +342,14 @@ function Base.similar(
345342 Vararg{AbstractUnitRange{<: Integer }},
346343 },
347344)
348- # TODO : Use `@interface interface(a) similar(...)`.
349- return @interface BlockSparseArrayInterface () similar (a, elt, axes)
345+ return @interface interface (a) similar (a, elt, axes)
350346end
351347
352348# Fixes ambiguity error with `StaticArrays`.
353349function Base. similar (
354350 a:: AnyAbstractBlockSparseArray , elt:: Type , axes:: Tuple{Base.OneTo,Vararg{Base.OneTo}}
355351)
356- # TODO : Use `@interface interface(a) similar(...)`.
357- return @interface BlockSparseArrayInterface () similar (a, elt, axes)
352+ return @interface interface (a) similar (a, elt, axes)
358353end
359354
360355struct BlockType{T} end
0 commit comments