Avoid Vararg

Following https://github.com/JuliaPlots/RecipesPipeline.jl/pull/104.
This commit is contained in:
t-bltg 2021-09-14 18:35:16 +02:00 committed by GitHub
parent 0a9d30f7ac
commit 2132334d97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -202,17 +202,12 @@ makevec(v::T) where {T} = T[v]
maketuple(x::Real) = (x, x)
maketuple(x::Tuple{T,S}) where {T,S} = x
for i in 2:4
@eval begin
RecipesPipeline.unzip(
v::Union{AVec{<:Tuple{Vararg{T,$i} where T}},AVec{<:GeometryBasics.Point{$i}}},
) = $(Expr(:tuple, (:([t[$j] for t in v]) for j in 1:i)...))
end
end
RecipesPipeline.unzip(v::Union{AVec{<:Tuple},AVec{<:GeometryBasics.Point}) = tuple((([t[j] for t in v]) for j in 1:length(v[1]))...)
RecipesPipeline.unzip(
::Union{AVec{<:GeometryBasics.Point{N}},AVec{<:Tuple{Vararg{T,N} where T}}},
::Union{AVec{<:GeometryBasics.Point{N}},AVec{<:Tuple}},
) where {N} = error("$N-dimensional unzip not implemented.")
RecipesPipeline.unzip(::Union{AVec{<:GeometryBasics.Point},AVec{<:Tuple}}) =
error("Can't unzip points of different dimensions.")