Skip to content

Commit 5cbfe84

Browse files
committed
fix return type for SizedArray setindex
1 parent 5e03fe7 commit 5cbfe84

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

src/SizedArray.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ end
120120
end
121121

122122
@propagate_inbounds getindex(a::SizedArray, i::Int) = getindex(a.data, i)
123-
@propagate_inbounds setindex!(a::SizedArray, v, i::Int) = setindex!(a.data, v, i)
123+
@propagate_inbounds setindex!(a::SizedArray, v, i::Int) = (setindex!(a.data, v, i); a)
124124

125125
Base.parent(sa::SizedArray) = sa.data
126126

test/MMatrix.jl

+2
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@
102102
m[3] = 13
103103
m[4] = 14
104104
@test m.data === (11, 12, 13, 14)
105+
@test setindex!(m, 13, 3) === m
106+
@test setindex!(m, 12, 2, 1) === m
105107

106108
m = @MMatrix [0 0; 0 0]
107109
m[1] = Int8(11)

test/MVector.jl

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
v[2] = 12
8282
v[3] = 13
8383
@test v.data === (11, 12, 13)
84+
@test setindex!(v, 13, 3) === v
8485

8586
v = @MVector [1.,2.,3.]
8687
v[1] = Float16(11)

test/SizedArray.jl

+14-3
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,20 @@
8484
end
8585

8686
# setindex
87-
sa = SizedArray{Tuple{2}, Int, 1}([3, 4])
88-
sa[1] = 2
89-
@test sa.data == [2, 4]
87+
@testset "setindex" begin
88+
sa = SizedArray{Tuple{2}, Int, 1}([3, 4])
89+
sa[1] = 2
90+
@test sa.data == [2, 4]
91+
@test setindex!(sa, 2, 1) === sa
92+
93+
sm = SizedArray{Tuple{4,3}}(rand(4, 3))
94+
sm[1] = 2
95+
@test sa.data[1] == 2
96+
sm[2, 3] = 4
97+
@test sa.data[2, 3] == 4
98+
@test setindex!(sm, 0.5, 1) === sm
99+
@test setindex!(sm, 0.5, 2, 3) === sm
100+
end
90101

91102
# parent
92103
@test parent(sa) === sa.data

0 commit comments

Comments
 (0)