@@ -926,8 +926,24 @@ Base.similar(bc::Broadcast.Broadcasted{Broadcast.ArrayStyle{MyArray}}, ::Type{El
926
926
# used inside of broadcast but we also test it here explicitly
927
927
@test isa (@inferred (Base. dataids (s)), NTuple{N, UInt} where {N})
928
928
929
- s = StructArray {ComplexF64} ((MyArray (rand (2 , 2 )), MyArray (rand (2 , 2 ))))
929
+ s = StructArray {ComplexF64} ((MyArray (rand (2 )), MyArray (rand (2 ))))
930
930
@test_throws MethodError s .+ s
931
+
932
+ # test for dimensionality track
933
+ @test Base. broadcasted (+ , s, s) isa Broadcast. Broadcasted{<: Broadcast.AbstractArrayStyle{1} }
934
+ @test Base. broadcasted (+ , s, [1 ,2 ]) isa Broadcast. Broadcasted{<: Broadcast.AbstractArrayStyle{1} }
935
+ @test Base. broadcasted (+ , s, [1 ;;2 ]) isa Broadcast. Broadcasted{<: Broadcast.AbstractArrayStyle{2} }
936
+ @test Base. broadcasted (+ , [1 ;;;2 ], s) isa Broadcast. Broadcasted{<: Broadcast.AbstractArrayStyle{3} }
937
+
938
+ a = StructArray ([1 ;2 + im])
939
+ b = StructArray ([1 ;;2 + im])
940
+ @test a .+ b == a .+ collect (b) == collect (a) .+ b == collect (a) .+ collect (b)
941
+
942
+ # issue #185
943
+ A = StructArray (randn (ComplexF64, 3 , 3 ))
944
+ B = randn (ComplexF64, 3 , 3 )
945
+ c = StructArray (randn (ComplexF64, 3 ))
946
+ @test (A .= B .* c) === A
931
947
end
932
948
933
949
@testset " staticarrays" begin
0 commit comments