Skip to content

collect(Iterator.product(offset arrays)) is an OffsetArray but collect (offset_array) is not #332

@FelixBenning

Description

@FelixBenning

So here is a weird thing:

julia> Iterators.product(OffsetArray(rand(3), -1:1), 1:2) |> collect
3×2 OffsetArray(::Matrix{Tuple{Float64, Int64}}, -1:1, 1:2) with eltype Tuple{Float64, Int64} with indices -1:1×1:2:
 (0.892917, 1)  (0.892917, 2)
 (0.398366, 1)  (0.398366, 2)
 (0.550785, 1)  (0.550785, 2)

julia> collect(ans)
3×2 Matrix{Tuple{Float64, Int64}}:
 (0.892917, 1)  (0.892917, 2)
 (0.398366, 1)  (0.398366, 2)
 (0.550785, 1)  (0.550785, 2)

Since collect promises an Array not an AbstractArray I am thinking that the first return is wrong. But I think this should probably be consistent at least. At least I would assume that collect(collect()) == collect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions