@@ -5,15 +5,15 @@ Base.dataids(sa::HybridArray) = Base.dataids(parent(sa))
55
66@inline Base. elsize (sa:: HybridArray ) = Base. elsize (parent (sa))
77
8- @inline size (sa:: HybridArray{S,T,N,N} ) where {S,T,N} = size (parent (sa))
8+ @inline size (sa:: HybridArray{S,T,N,N} ) where {S<: Tuple ,T,N} = size (parent (sa))
99
1010@inline length (sa:: HybridArray ) = length (parent (sa))
1111
12- @inline strides (sa:: HybridArray{S,T,N,N} ) where {S,T,N} = strides (parent (sa))
12+ @inline strides (sa:: HybridArray{S,T,N,N} ) where {S<: Tuple ,T,N} = strides (parent (sa))
1313
1414@inline pointer (sa:: HybridArray ) = pointer (parent (sa))
1515
16- @generated function _sized_abstract_array_axes (:: Type{S} , ax:: Tuple ) where S<: Tuple
16+ @generated function _sized_abstract_array_axes (:: Type{S} , ax:: Tuple ) where { S<: Tuple }
1717 exprs = Any[]
1818 map (enumerate (S. parameters)) do (i, si)
1919 if isa (si, Dynamic)
@@ -25,18 +25,18 @@ Base.dataids(sa::HybridArray) = Base.dataids(parent(sa))
2525 return Expr (:tuple , exprs... )
2626end
2727
28- function axes (sa:: HybridArray{S} ) where S
28+ function axes (sa:: HybridArray{S} ) where {S <: Tuple }
2929 ax = axes (parent (sa))
3030 return _sized_abstract_array_axes (S, ax)
3131end
3232
3333
34- function promote_rule (:: Type{<:HybridArray{S,T,N,M,TDataA}} , :: Type{<:HybridArray{S,U,N,M,TDataB}} ) where {S,T,U,N,M,TDataA,TDataB}
34+ function promote_rule (:: Type{<:HybridArray{S,T,N,M,TDataA}} , :: Type{<:HybridArray{S,U,N,M,TDataB}} ) where {S<: Tuple ,T,U,N,M,TDataA,TDataB}
3535 TU = promote_type (T,U)
3636 HybridArray{S,TU,N,M,promote_type (TDataA, TDataB):: Type{<:AbstractArray{TU}} }
3737end
3838
39- @inline copy (a:: HybridArray{S, T, N, M} ) where {S, T, N, M} = begin
39+ @inline copy (a:: HybridArray{S, T, N, M} ) where {S<: Tuple , T, N, M} = begin
4040 parentcopy = copy (parent (a))
4141 HybridArray {S, T, N, M, typeof(parentcopy)} (parentcopy)
4242end
0 commit comments