@@ -5,15 +5,15 @@ Base.dataids(sa::HybridArray) = Base.dataids(parent(sa))
5
5
6
6
@inline Base. elsize (sa:: HybridArray ) = Base. elsize (parent (sa))
7
7
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))
9
9
10
10
@inline length (sa:: HybridArray ) = length (parent (sa))
11
11
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))
13
13
14
14
@inline pointer (sa:: HybridArray ) = pointer (parent (sa))
15
15
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 }
17
17
exprs = Any[]
18
18
map (enumerate (S. parameters)) do (i, si)
19
19
if isa (si, Dynamic)
@@ -25,18 +25,18 @@ Base.dataids(sa::HybridArray) = Base.dataids(parent(sa))
25
25
return Expr (:tuple , exprs... )
26
26
end
27
27
28
- function axes (sa:: HybridArray{S} ) where S
28
+ function axes (sa:: HybridArray{S} ) where {S <: Tuple }
29
29
ax = axes (parent (sa))
30
30
return _sized_abstract_array_axes (S, ax)
31
31
end
32
32
33
33
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}
35
35
TU = promote_type (T,U)
36
36
HybridArray{S,TU,N,M,promote_type (TDataA, TDataB):: Type{<:AbstractArray{TU}} }
37
37
end
38
38
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
40
40
parentcopy = copy (parent (a))
41
41
HybridArray {S, T, N, M, typeof(parentcopy)} (parentcopy)
42
42
end
0 commit comments