BlockArrays.jl
BlockArrays.jl copied to clipboard
Stackoverflow with broadcast += between Vector and scalar*BlockedVector
julia> using BlockArrays
julia> A = BlockedVector(1:6, [3, 2, 1]);
julia> B = zeros(6);
julia> @. B += A; # fine
julia> @. B += 1A; # broken. @. B + 1A works fine though.
ERROR: StackOverflowError:
Stacktrace:
[1] Array
@ .\boot.jl:477 [inlined]
[2] Array
@ .\boot.jl:496 [inlined]
[3] emptymutable
@ .\abstractarray.jl:899 [inlined]
[4] union
@ .\abstractset.jl:57 [inlined]
[5] sortedunion(a::Vector{Int64}, b::FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}})
@ BlockArrays C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:34
[6] combine_blockaxes
@ C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:37 [inlined]
[7] axistype
@ C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:41 [inlined]
[8] _bcs1(a::Base.OneTo{Int64}, b::BlockedOneTo{Int64, Vector{Int64}})
@ Base.Broadcast .\broadcast.jl:555
[9] _bcs
@ .\broadcast.jl:549 [inlined]
[10] broadcast_shape
@ .\broadcast.jl:543 [inlined]
[11] combine_axes
@ .\broadcast.jl:524 [inlined]
[12] _axes
@ .\broadcast.jl:236 [inlined]
[13] axes
@ .\broadcast.jl:234 [inlined]
[14] materialize!
@ C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:128 [inlined]
[15] broadcast!(::typeof(+), ::SubArray{…}, ::SubArray{…}, ::Base.Broadcast.Broadcasted{…})
@ Base.Broadcast .\broadcast.jl:880
[16] _fast_blockbradcast_copyto!
@ C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:173 [inlined]
[17] copyto!(dest::SubArray{…}, bc::Base.Broadcast.Broadcasted{…})
@ BlockArrays C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:192
[18] materialize!
@ C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:131 [inlined]
--- the last 4 lines are repeated 7911 more times ---
[31663] broadcast!(::typeof(+), ::SubArray{…}, ::SubArray{…}, ::Base.Broadcast.Broadcasted{…})
@ Base.Broadcast .\broadcast.jl:880
[31664] _fast_blockbradcast_copyto!(dest::Vector{…}, bc::Base.Broadcast.Broadcasted{…})
@ BlockArrays C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:173
[31665] copyto!(dest::Vector{…}, bc::Base.Broadcast.Broadcasted{…})
@ BlockArrays C:\Users\danjv\.julia\packages\BlockArrays\xi4on\src\blockbroadcast.jl:192
Some type information was truncated. Use `show(err)` to see complete types.