From 9ce63a54d39c1052fe95a6537f628106a10820ef Mon Sep 17 00:00:00 2001 From: David Widmann Date: Fri, 9 Feb 2024 00:06:48 +0100 Subject: [PATCH] Update src/rulesets/Base/indexing.jl Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- src/rulesets/Base/indexing.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/rulesets/Base/indexing.jl b/src/rulesets/Base/indexing.jl index f81ffda59..ea081c99c 100644 --- a/src/rulesets/Base/indexing.jl +++ b/src/rulesets/Base/indexing.jl @@ -126,8 +126,11 @@ This returns roughly `dx = zero(x)`, except that this is guaranteed to be mutabl and its element type is wide enough to allow `setindex!(dx, dy, inds...)`, which is exactly what `∇getindex` does next. """ -_setindex_zero(x::AbstractArray{<:Number}, dy, inds::Integer...) = fill!(similar(x, typeof(dy)), false) -_setindex_zero(x::AbstractArray{<:Number}, dy, inds...) = fill!(similar(x, eltype(dy)), false) +_setindex_zero(x::AbstractArray{<:Number}, dy, inds::Integer...) = + fill!(similar(x, typeof(dy)), false) +function _setindex_zero(x::AbstractArray{<:Number}, dy, inds...) + return fill!(similar(x, eltype(dy)), false) +end function _setindex_zero(x::AbstractArray, dy, inds::Integer...) # This allows for types which don't define zero (like Vector) and types whose zero special (like Tangent), # but always makes an abstract type. TODO: make it infer concrete type for e.g. vectors of SVectors