Closed Moelf closed 7 months ago
I think therer's some UnionAll
related business happening and I have a hard time reproducing it outside of the function:
contents = [out]
for i = (firstindex(OtherTypes)+1):(lastindex(OtherTypes))
@show contents, i, UnmaskedArray{layout_for(OtherTypes[i])}
push!(contents, UnmaskedArray{layout_for(OtherTypes[i])})
@show i
end
UnionArray{Index8,Vector{Int64},Base.Tuple{contents...}}
crashes with
julia> AwkwardArray.from_iter(
Vector{Union{Missing,Float64,Vector{Int64}}}([1.1, [1, 2], missing, [3]]),
)
(contents, i, UnmaskedArray{layout_for(OtherTypes[i])}) = (UnionAll[AwkwardArray.ByteMaskedArray{AbstractVector{Int8}, AwkwardArray.PrimitiveArray{Float64, BUFFER} where BUFFER<:AbstractVector{Float64}}], 2, AwkwardArray.UnmaskedArray{AwkwardArray.ListOffsetArray{Vector{Int64}, AwkwardArray.PrimitiveArray{Int64, BUFFER} where BUFFER<:AbstractVector{Int64}}})
Unreachable reached at 0x7045d4c36fc6
so I hope to reproduce it outside of the code base with:
julia> contents = UnionAll[AwkwardArray.ByteMaskedArray{AbstractVector{Int8}, AwkwardArray.PrimitiveArray{Float64, BUFFER} where BUFFER<:AbstractVector{Float64}}];
julia> push!(contents, AwkwardArray.UnmaskedArray{AwkwardArray.ListOffsetArray{Vector{Int64}, AwkwardArray.PrimitiveArray{Int64, BUFFER} where BUFFER<:AbstractVector{Int64}}});
but this worked just fine
this is the minimal example that causes an unreachable reached: