4040@propagate_inbounds function setindex! (a:: StaticArray , value, inds:: Int... )
4141 @boundscheck checkbounds (a, inds... )
4242 _setindex!_scalar (Size (a), a, value, inds... )
43+ return a
4344end
4445
4546@generated function _setindex!_scalar (:: Size{S} , a:: StaticArray , value, inds:: Int... ) where S
@@ -126,14 +127,15 @@ end
126127
127128@inline function setindex! (a:: StaticArray , v, :: Colon )
128129 _setindex! (a:: StaticArray , v, Length (a), :)
129- return v
130+ return a
130131end
131132
132133@generated function _setindex! (a:: StaticArray , v, :: Length{L} , :: Colon ) where {L}
133134 exprs = [:(a[$ i] = v) for i = 1 : L]
134135 return quote
135136 @_inline_meta
136137 @inbounds $ (Expr (:block , exprs... ))
138+ return a
137139 end
138140end
139141
145147 throw (DimensionMismatch (" tried to assign $(length (v)) -element array to length-$L destination" ))
146148 end
147149 @inbounds $ (Expr (:block , exprs... ))
150+ return a
148151 end
149152end
150153
@@ -156,19 +159,21 @@ end
156159 throw (DimensionMismatch (" tried to assign $(length (v)) -element array to length-$L destination" ))
157160 end
158161 $ (Expr (:block , exprs... ))
162+ return a
159163 end
160164end
161165
162166@propagate_inbounds function setindex! (a:: StaticArray , v, inds:: StaticArray{<:Tuple, Int} )
163167 _setindex! (a, v, Size (inds), inds)
164- return v
168+ return a
165169end
166170
167171@generated function _setindex! (a:: StaticArray , v, s:: Size{S} , inds:: StaticArray{<:Tuple, Int} ) where {S}
168172 exprs = [:(a[inds[$ i]] = v) for i = 1 : prod (S)]
169173 return quote
170174 @_propagate_inbounds_meta
171175 similar_type (a, s)(tuple ($ (exprs... )))
176+ return a
172177 end
173178end
174179
180185 throw (DimensionMismatch (" tried to assign $(length (v)) -element array to length-$(length (inds)) destination" ))
181186 end
182187 $ (Expr (:block , exprs... ))
188+ return a
183189 end
184190end
185191
191197 throw (DimensionMismatch (" tried to assign $(length (v)) -element array to length-$(length (inds)) destination" ))
192198 end
193199 $ (Expr (:block , exprs... ))
200+ return a
194201 end
195202end
196203
305312 quote
306313 @_propagate_inbounds_meta
307314 $ (exprs... )
308- return value
315+ return a
309316 end
310317end
311318
348355 quote
349356 @_propagate_inbounds_meta
350357 $ (exprs... )
351- return v
358+ return a
352359 end
353360 else
354361 quote
358365 throw (DimensionMismatch (" tried to assign $(length (v)) -element array to $newsize destination" ))
359366 end
360367 $ (exprs... )
361- return v
368+ return a
362369 end
363370 end
364371end
0 commit comments