-
Notifications
You must be signed in to change notification settings - Fork 152
Open
Description
StaticArrays does some piracy, at least in similar():
StaticArrays.jl/src/abstractarray.jl
Lines 141 to 146 in 07c1245
| const HeterogeneousBaseShape = Union{Integer, Base.OneTo} | |
| const HeterogeneousShape = Union{HeterogeneousBaseShape, SOneTo} | |
| const HeterogeneousShapeTuple = Tuple{Vararg{HeterogeneousShape}} | |
| similar(A::AbstractArray, ::Type{T}, shape::HeterogeneousShapeTuple) where {T} = similar(A, T, homogenize_shape(shape)) | |
| similar(::Type{A}, shape::HeterogeneousShapeTuple) where {A<:AbstractArray} = similar(A, homogenize_shape(shape)) |
Here,
HeterogeneousShapeTuple = Tuple{Vararg{Union{Integer, Base.OneTo, SOneTo} }} and it fits eg Tuple{}, Tuple{Int}, Tuple{Int, Int}.
It's generally a good thing to avoid piracy in foundational packages. Maybe, also related to ambiguities like JuliaArrays/StructArrays.jl#279?..
Metadata
Metadata
Assignees
Labels
No labels