Skip to content

Commit f473dbc

Browse files
Merge pull request #173 from baggepinnen/patch-1
Provide base case for recursive eltype functions
2 parents 4492676 + 6be2c85 commit f473dbc

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/utils.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,14 @@ recursive_one(a::T) where {T<:Number} = one(a)
9393
recursive_bottom_eltype(a) = a == eltype(a) ? a : recursive_bottom_eltype(eltype(a))
9494

9595
recursive_unitless_bottom_eltype(a) = recursive_unitless_bottom_eltype(typeof(a))
96+
recursive_unitless_bottom_eltype(a::Type{Any}) = Any
9697
recursive_unitless_bottom_eltype(a::Type{T}) where T = recursive_unitless_bottom_eltype(eltype(a))
9798
recursive_unitless_bottom_eltype(a::Type{T}) where {T<:AbstractArray} = recursive_unitless_bottom_eltype(eltype(a))
9899
recursive_unitless_bottom_eltype(a::Type{T}) where {T<:Number} = eltype(a) == Number ? Float64 : typeof(one(eltype(a)))
99100
recursive_unitless_bottom_eltype(::Type{<:Enum{T}}) where T = T
100101

101102
recursive_unitless_eltype(a) = recursive_unitless_eltype(eltype(a))
103+
recursive_unitless_eltype(a::Type{Any}) = Any
102104
recursive_unitless_eltype(a::Type{T}) where {T<:StaticArray} = similar_type(a,recursive_unitless_eltype(eltype(a)))
103105
recursive_unitless_eltype(a::Type{T}) where {T<:Array} = Array{recursive_unitless_eltype(eltype(a)),ndims(a)}
104106
recursive_unitless_eltype(a::Type{T}) where {T<:Number} = typeof(one(eltype(a)))

0 commit comments

Comments
 (0)