Skip to content

Commit 8c2b84f

Browse files
authored
Merge pull request #230 from JuliaArrays/fixinference
Type stability fix
2 parents ec8d2c7 + 3c4581a commit 8c2b84f

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ArrayInterface"
22
uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
3-
version = "3.2.1"
3+
version = "3.2.2"
44

55
[deps]
66
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"

src/ArrayInterface.jl

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -445,13 +445,9 @@ Is strides(::T) defined? It is assumed that types returning `true` also return a
445445
pointer on `pointer(::T)`.
446446
"""
447447
defines_strides(x) = defines_strides(typeof(x))
448-
function defines_strides(::Type{T}) where {T}
449-
if parent_type(T) <: T
450-
return false
451-
else
452-
return defines_strides(parent_type(T))
453-
end
454-
end
448+
_defines_strides(::Type{T}, ::Type{T}) where {T} = false
449+
_defines_strides(::Type{P}, ::Type{T}) where {P,T} = defines_strides(P)
450+
defines_strides(::Type{T}) where {T} = _defines_strides(parent_type(T), T)
455451
defines_strides(::Type{<:StridedArray}) = true
456452
function defines_strides(::Type{<:SubArray{T,N,P,I}}) where {T,N,P,I}
457453
return stride_preserving_index(I) === True()

0 commit comments

Comments
 (0)