Skip to content

Commit d55479d

Browse files
committed
Add test
1 parent a6208a7 commit d55479d

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

test/broadcast.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,3 +315,23 @@ end
315315
end
316316
end
317317
end
318+
319+
@testset "instantiate with axes updated" begin
320+
f(a; ax = nothing) = Broadcast.Broadcasted{StaticArrays.StaticArrayStyle{ndims(a)}}(+,(a,),ax)
321+
a = @SArray zeros(2,2,2)
322+
ax = Base.OneTo(2), Base.OneTo(2), Base.OneTo(2)
323+
@test @inferred(Broadcast.instantiate(f(a; ax))).axes isa NTuple{3,SOneTo}
324+
ax = (ax..., Base.OneTo(2))
325+
@test @inferred(Broadcast.instantiate(f(a; ax))).axes isa NTuple{4,Base.OneTo}
326+
ax = setindex(ax, Base.OneTo(1), 4)
327+
@test @inferred(Broadcast.instantiate(f(a; ax))).axes isa NTuple{4,Base.OneTo}
328+
a = @SArray zeros(2,1,2)
329+
ax = Base.OneTo(2), Base.OneTo(2), Base.OneTo(2)
330+
@test @inferred(Broadcast.instantiate(f(a; ax))).axes isa Tuple{SOneTo,Base.OneTo,SOneTo}
331+
@test_throws DimensionMismatch Broadcast.instantiate(f(a; ax = ax[1:2]))
332+
333+
a = @SArray zeros(2,2,1)
334+
ax = Base.OneTo(2), Base.OneTo(2), Base.OneTo(2)
335+
@test @inferred(Broadcast.instantiate(f(a; ax))).axes isa Tuple{SOneTo,SOneTo,Base.OneTo}
336+
@test @inferred(Broadcast.instantiate(f(a; ax = ax[1:2]))).axes isa NTuple{2,SOneTo}
337+
end

0 commit comments

Comments
 (0)