diff --git a/src/utils.jl b/src/utils.jl index e5527648..8a194ce5 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -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.")