JuliaFolds / Transducers.jl

Efficient transducers for Julia
https://juliafolds.github.io/Transducers.jl/dev/
MIT License
432 stars 24 forks source link

`collect`ing an eduction over `StructArray`s gives regular arrays #532

Open MasonProtter opened 2 years ago

MasonProtter commented 2 years ago

Looks like a bad output container is being selected by collect here:

julia> using Transducers, StructArrays

julia> data = StructArray(a=1:10);

julia> data |> Map(x -> (a=x.a^2,)) |> Filter(x -> x.a > 10) |> collect
7-element Vector{NamedTuple{(:a,), Tuple{Int64}}}:
 (a = 16,)
 (a = 25,)
 (a = 36,)
 (a = 49,)
 (a = 64,)
 (a = 81,)
 (a = 100,)