Skip to content

Commit 604edf8

Browse files
committed
Fix regression on StaticArray
1 parent 1abddfb commit 604edf8

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/staticarrays_support.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import StaticArrays: StaticArray, FieldArray, tuple_prod
1+
import StaticArrays: StaticArray, FieldArray, tuple_prod, StaticArrayStyle
22

33
"""
44
StructArrays.staticschema(::Type{<:StaticArray{S, T}}) where {S, T}
@@ -26,4 +26,9 @@ StructArrays.component(s::StaticArray, i) = getindex(s, i)
2626
invoke(StructArrays.staticschema, Tuple{Type{<:Any}}, T)
2727
end
2828
StructArrays.component(s::FieldArray, i) = invoke(StructArrays.component, Tuple{Any, Any}, s, i)
29-
StructArrays.createinstance(T::Type{<:FieldArray}, args...) = invoke(createinstance, Tuple{Type{<:Any}, Vararg}, T, args...)
29+
StructArrays.createinstance(T::Type{<:FieldArray}, args...) = invoke(createinstance, Tuple{Type{<:Any}, Vararg}, T, args...)
30+
31+
function Base.copy(bc::Broadcasted{<:StructArrayStyle{StaticArrayStyle{N}}}) where {N}
32+
B = convert(Broadcasted{Broadcast.DefaultArrayStyle{N}}, bc)
33+
copy(B)
34+
end

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,10 @@ Base.BroadcastStyle(::Broadcast.ArrayStyle{MyArray1}, ::Broadcast.ArrayStyle{MyA
987987
a = StructArray([1;2+im])
988988
b = StructArray([1 2+im])
989989
@test @inferred(a .+ b .+ a .* a' .+ (1,2) .+ (1:2) .- b') isa StructArray
990+
991+
a = @SArray randn(3,3);
992+
b = StructArray{ComplexF64}((a,a))
993+
@test a[:,1] .+ b isa SizedMatrix
990994
end
991995

992996
@testset "staticarrays" begin

0 commit comments

Comments
 (0)